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.
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. baselineCPU returns anything, it will override self._caps. host.cpu, however, "ARCH" will be missing.
If self._conn.
This is causing the driver not to setup the guest.sysinfo on line 3040:
if CONF.libvirt. virt_type in ("kvm", "qemu"): host_capabiliti es()
guest. sysinfo = self.get_ guest_config_ sysinfo( instance)
guest. os_smbios = vconfig. LibvirtConfigGu estSMBIOS( )
caps = self.get_
if caps.host.cpu.arch in ("i686", "x86_64"):
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