diff --git a/nova/tests/unit/virt/libvirt/fakelibvirt.py b/nova/tests/unit/virt/libvirt/fakelibvirt.py index 51918b6d51f9..7992b1af7b8c 100644 --- a/nova/tests/unit/virt/libvirt/fakelibvirt.py +++ b/nova/tests/unit/virt/libvirt/fakelibvirt.py @@ -1786,6 +1786,11 @@ class FakeLibvirtFixture(fixtures.Fixture): 'nova.virt.libvirt.driver.LibvirtDriver' '._get_host_sysinfo_serial_os', return_value=uuids.machine_id)) + # Stub out _log_host_capabilities since it logs a giant string at INFO + # and we don't want that to blow up the subunit parser in test runs. + self.useFixture(fixtures.MockPatch( + 'nova.virt.libvirt.host.Host._log_host_capabilities')) + disable_event_thread(self) if self.stub_os_vif: diff --git a/nova/virt/libvirt/host.py b/nova/virt/libvirt/host.py index baf643496a39..c3ee485780f2 100644 --- a/nova/virt/libvirt/host.py +++ b/nova/virt/libvirt/host.py @@ -635,6 +635,13 @@ class Host(object): return online_cpus + @staticmethod + def _log_host_capabilities(xmlstr): + # NOTE(mriedem): This looks a bit weird but we do this so we can stub + # out this method in unit/functional test runs since the xml string is + # big and it can cause subunit parsing to fail (see bug 1813147). + LOG.info("Libvirt host capabilities %s", xmlstr) + def get_capabilities(self): """Returns the host capabilities information @@ -647,7 +654,7 @@ class Host(object): """ if not self._caps: xmlstr = self.get_connection().getCapabilities() - LOG.info("Libvirt host capabilities %s", xmlstr) + self._log_host_capabilities(xmlstr) self._caps = vconfig.LibvirtConfigCaps() self._caps.parse_str(xmlstr) # NOTE(mriedem): Don't attempt to get baseline CPU features