diff --git a/nova/tests/unit/pci/test_manager.py b/nova/tests/unit/pci/test_manager.py index dbcaa8822d..39d0b116bb 100644 --- a/nova/tests/unit/pci/test_manager.py +++ b/nova/tests/unit/pci/test_manager.py @@ -252,8 +252,10 @@ class PciDevTrackerTestCase(test.NoDBTestCase): fake_pci_devs_json = jsonutils.dumps(fake_pci_devs) tracker = manager.PciDevTracker( self.fake_context, objects.ComputeNode(id=1, numa_topology=None)) + # At this point we should have the original 3 fake devs + self.assertEqual(3, len(tracker.pci_devs)) # We expect that the device with 32bit PCI domain is ignored, so we'll - # have only the 3 original fake devs + # still have the same 3 original fake devs. tracker.update_devices_from_hypervisor_resources(fake_pci_devs_json) self.assertEqual(3, len(tracker.pci_devs)) mock_debug.assert_called_once_with( diff --git a/nova/tests/unit/virt/libvirt/test_driver.py b/nova/tests/unit/virt/libvirt/test_driver.py index c39513d91a..2c31d5c283 100644 --- a/nova/tests/unit/virt/libvirt/test_driver.py +++ b/nova/tests/unit/virt/libvirt/test_driver.py @@ -816,6 +816,11 @@ class LibvirtConnTestCase(test.NoDBTestCase, drvr.capabilities['supports_vtpm'], "Driver capabilities for 'supports_vtpm' is invalid", ) + self.assertTrue( + drvr.capabilities['supports_socket_pci_numa_affinity'], + "Driver capabilities for 'supports_socket_pci_numa_affinity' " + "is invalid", + ) def test_driver_capabilities_qcow2_with_rbd(self): self.flags(images_type='rbd', group='libvirt') @@ -967,7 +972,6 @@ class LibvirtConnTestCase(test.NoDBTestCase, 'COMPUTE_NET_VIF_MODEL_VIRTIO': True, 'COMPUTE_SECURITY_TPM_1_2': False, 'COMPUTE_SECURITY_TPM_2_0': False, - 'COMPUTE_SOCKET_PCI_NUMA_AFFINITY': True, } static_traits = drvr.static_traits @@ -1013,7 +1017,6 @@ class LibvirtConnTestCase(test.NoDBTestCase, 'COMPUTE_NET_VIF_MODEL_VIRTIO': True, 'COMPUTE_SECURITY_TPM_1_2': False, 'COMPUTE_SECURITY_TPM_2_0': False, - 'COMPUTE_SOCKET_PCI_NUMA_AFFINITY': True, } static_traits = drvr.static_traits diff --git a/nova/virt/driver.py b/nova/virt/driver.py index 2e88e70111..80f93f7bb6 100644 --- a/nova/virt/driver.py +++ b/nova/virt/driver.py @@ -124,6 +124,8 @@ CAPABILITY_TRAITS_MAP = { "supports_migrate_to_same_host": os_traits.COMPUTE_SAME_HOST_COLD_MIGRATE, "supports_bfv_rescue": os_traits.COMPUTE_RESCUE_BFV, "supports_secure_boot": os_traits.COMPUTE_SECURITY_UEFI_SECURE_BOOT, + "supports_socket_pci_numa_affinity": + os_traits.COMPUTE_SOCKET_PCI_NUMA_AFFINITY, } @@ -191,6 +193,7 @@ class ComputeDriver(object): "supports_bfv_rescue": False, "supports_vtpm": False, "supports_secure_boot": False, + "supports_socket_pci_numa_affinity": False, # Image type support flags "supports_image_type_aki": False, diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py index 21832c2489..3d8b518044 100644 --- a/nova/virt/libvirt/driver.py +++ b/nova/virt/libvirt/driver.py @@ -419,6 +419,7 @@ class LibvirtDriver(driver.ComputeDriver): "supports_accelerators": True, "supports_bfv_rescue": True, "supports_vtpm": CONF.libvirt.swtpm_enabled, + "supports_socket_pci_numa_affinity": True, } super(LibvirtDriver, self).__init__(virtapi) @@ -8395,7 +8396,6 @@ class LibvirtDriver(driver.ComputeDriver): traits.update(self._get_video_model_traits()) traits.update(self._get_vif_model_traits()) traits.update(self._get_tpm_traits()) - traits.update({ot.COMPUTE_SOCKET_PCI_NUMA_AFFINITY: True}) _, invalid_traits = ot.check_traits(traits) for invalid_trait in invalid_traits: diff --git a/nova/virt/powervm/driver.py b/nova/virt/powervm/driver.py index c94dcd35f2..ec8f60226d 100644 --- a/nova/virt/powervm/driver.py +++ b/nova/virt/powervm/driver.py @@ -81,6 +81,7 @@ class PowerVMDriver(driver.ComputeDriver): 'supports_accelerators': False, 'supports_vtpm': False, 'supports_secure_boot': False, + 'supports_socket_pci_numa_affinity': False, # Supported image types "supports_image_type_aki": False,