diff options
author | Jenkins <jenkins@review.openstack.org> | 2017-05-26 04:54:16 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2017-05-26 04:54:16 +0000 |
commit | d756b78e303753e1b88e0691aa0fd13d2edaf1f0 (patch) | |
tree | a63fbf7566388fd89343d27d960d5ede3746d47e | |
parent | f0cd6af7916f9a1810320e3b50da11b5f1649ffb (diff) | |
parent | b4bbe68e279aa94aa71aef1a3879d42bf90d3170 (diff) | |
download | nova-14.0.7.tar.gz |
Merge "Fixed suspend for PCI passthrough" into stable/newton14.0.7
-rw-r--r-- | nova/tests/unit/virt/libvirt/test_driver.py | 20 | ||||
-rw-r--r-- | nova/virt/libvirt/driver.py | 3 |
2 files changed, 22 insertions, 1 deletions
diff --git a/nova/tests/unit/virt/libvirt/test_driver.py b/nova/tests/unit/virt/libvirt/test_driver.py index e060c42a1d..3a121f63b6 100644 --- a/nova/tests/unit/virt/libvirt/test_driver.py +++ b/nova/tests/unit/virt/libvirt/test_driver.py @@ -11660,6 +11660,26 @@ class LibvirtConnTestCase(test.NoDBTestCase): @mock.patch.object(FakeVirtDomain, 'ID', return_value=1) @mock.patch.object(utils, 'get_image_from_system_metadata', return_value=None) + def test_attach_sriov_direct_physical_ports(self, + mock_get_image_metadata, + mock_ID, + mock_attachDevice): + instance = objects.Instance(**self.test_instance) + + network_info = _fake_network_info(self, 1) + network_info[0]['vnic_type'] = network_model.VNIC_TYPE_DIRECT_PHYSICAL + guest = libvirt_guest.Guest(FakeVirtDomain()) + drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False) + + drvr._attach_sriov_ports(self.context, instance, guest, network_info) + mock_get_image_metadata.assert_called_once_with( + instance.system_metadata) + self.assertTrue(mock_attachDevice.called) + + @mock.patch.object(FakeVirtDomain, 'attachDeviceFlags') + @mock.patch.object(FakeVirtDomain, 'ID', return_value=1) + @mock.patch.object(utils, 'get_image_from_system_metadata', + return_value=None) def test_attach_sriov_ports_with_info_cache(self, mock_get_image_metadata, mock_ID, diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py index 70410dcfbf..9b1cab2151 100644 --- a/nova/virt/libvirt/driver.py +++ b/nova/virt/libvirt/driver.py @@ -3252,7 +3252,8 @@ class LibvirtDriver(driver.ComputeDriver): @staticmethod def _has_sriov_port(network_info): for vif in network_info: - if vif['vnic_type'] == network_model.VNIC_TYPE_DIRECT: + if vif['vnic_type'] in [network_model.VNIC_TYPE_DIRECT, + network_model.VNIC_TYPE_DIRECT_PHYSICAL]: return True return False |