Comment 1 for bug 1266534

Revision history for this message
Vladik Romanovsky (vladik-romanovsky) wrote :

This problem is happening because features = self._conn.baselineCPU (on line 2750 in the libvirt driver) - (or baseline-cpu in libvirt) - doesn't return architecture, such as :

<cpu>
      <arch>x86_64</arch>
...
..

In general, the get_host_capabilities methods sets the self._caps variable and fills the self._caps.host.cpu as well, according to getCapabilities from libvirt.
If self._conn.baselineCPU returns anything, it will override self._caps.host.cpu, however, "ARCH" will be missing.

This is causing the driver not to setup the guest.sysinfo on line 3040:

        if CONF.libvirt.virt_type in ("kvm", "qemu"):
            caps = self.get_host_capabilities()
            if caps.host.cpu.arch in ("i686", "x86_64"):
                guest.sysinfo = self.get_guest_config_sysinfo(instance)
                guest.os_smbios = vconfig.LibvirtConfigGuestSMBIOS()

and eventually all the tests that are using _check_xml_and_uri() in test_libvirt.py will fail on line 2877, when it will try to check the sysinfo.

Vladik