diff options
Diffstat (limited to 'nova/tests/unit/pci/test_manager.py')
-rw-r--r-- | nova/tests/unit/pci/test_manager.py | 44 |
1 files changed, 27 insertions, 17 deletions
diff --git a/nova/tests/unit/pci/test_manager.py b/nova/tests/unit/pci/test_manager.py index 665d20920e..23fffb2680 100644 --- a/nova/tests/unit/pci/test_manager.py +++ b/nova/tests/unit/pci/test_manager.py @@ -26,6 +26,7 @@ from nova.objects import fields from nova.pci import manager from nova import test from nova.tests.unit.pci import fakes as pci_fakes +from nova.tests import uuidsentinel fake_pci = { @@ -82,7 +83,7 @@ fake_pci_requests = [ class PciDevTrackerTestCase(test.NoDBTestCase): def _create_fake_instance(self): self.inst = objects.Instance() - self.inst.uuid = 'fake-inst-uuid' + self.inst.uuid = uuidsentinel.instance1 self.inst.pci_devices = objects.PciDeviceList() self.inst.vm_state = vm_states.ACTIVE self.inst.task_state = None @@ -100,13 +101,17 @@ class PciDevTrackerTestCase(test.NoDBTestCase): def _fake_pci_device_destroy(self, ctxt, node_id, address): self.destroy_called += 1 - def _create_pci_requests_object(self, mock_get, requests): + def _create_pci_requests_object(self, mock_get, requests, + instance_uuid=None): + instance_uuid = instance_uuid or uuidsentinel.instance1 pci_reqs = [] for request in requests: pci_req_obj = objects.InstancePCIRequest(count=request['count'], spec=request['spec']) pci_reqs.append(pci_req_obj) - mock_get.return_value = objects.InstancePCIRequests(requests=pci_reqs) + mock_get.return_value = objects.InstancePCIRequests( + instance_uuid=instance_uuid, + requests=pci_reqs) def setUp(self): super(PciDevTrackerTestCase, self).setUp() @@ -181,7 +186,7 @@ class PciDevTrackerTestCase(test.NoDBTestCase): def test_set_hvdev_changed_stal(self, mock_get): self._create_pci_requests_object(mock_get, [{'count': 1, 'spec': [{'vendor_id': 'v1'}]}]) - self.tracker._claim_instance(mock.sentinel.context, self.inst) + self.tracker._claim_instance(None, mock_get.return_value, None) fake_pci_3 = dict(fake_pci, address='0000:00:00.2', vendor_id='v2') fake_pci_devs = [copy.deepcopy(fake_pci), copy.deepcopy(fake_pci_2), copy.deepcopy(fake_pci_3)] @@ -193,7 +198,7 @@ class PciDevTrackerTestCase(test.NoDBTestCase): def test_update_pci_for_instance_active(self, mock_get): self._create_pci_requests_object(mock_get, fake_pci_requests) - self.tracker.claim_instance(None, self.inst) + self.tracker.claim_instance(None, mock_get.return_value, None) self.assertEqual(len(self.tracker.claims[self.inst['uuid']]), 2) self.tracker.update_pci_for_instance(None, self.inst, sign=1) self.assertEqual(len(self.tracker.allocations[self.inst['uuid']]), 2) @@ -206,7 +211,7 @@ class PciDevTrackerTestCase(test.NoDBTestCase): pci_requests = copy.deepcopy(fake_pci_requests) pci_requests[0]['count'] = 4 self._create_pci_requests_object(mock_get, pci_requests) - self.tracker.claim_instance(None, self.inst) + self.tracker.claim_instance(None, mock_get.return_value, None) self.assertEqual(len(self.tracker.claims[self.inst['uuid']]), 0) devs = self.tracker.update_pci_for_instance(None, self.inst, @@ -227,7 +232,8 @@ class PciDevTrackerTestCase(test.NoDBTestCase): self.inst.numa_topology = objects.InstanceNUMATopology( cells=[objects.InstanceNUMACell( id=1, cpuset=set([1, 2]), memory=512)]) - self.tracker.claim_instance(None, self.inst) + self.tracker.claim_instance(None, mock_get.return_value, + self.inst.numa_topology) free_devs = self.tracker.pci_stats.get_free_devs() self.assertEqual(2, len(free_devs)) self.assertEqual('v1', free_devs[0].vendor_id) @@ -239,12 +245,14 @@ class PciDevTrackerTestCase(test.NoDBTestCase): self.inst.numa_topology = objects.InstanceNUMATopology( cells=[objects.InstanceNUMACell( id=1, cpuset=set([1, 2]), memory=512)]) - self.assertIsNone(self.tracker.claim_instance(None, self.inst)) + self.assertIsNone(self.tracker.claim_instance( + None, mock_get.return_value, + self.inst.numa_topology)) @mock.patch('nova.objects.InstancePCIRequests.get_by_instance') def test_update_pci_for_instance_deleted(self, mock_get): self._create_pci_requests_object(mock_get, fake_pci_requests) - self.tracker.claim_instance(None, self.inst) + self.tracker.claim_instance(None, mock_get.return_value, None) free_devs = self.tracker.pci_stats.get_free_devs() self.assertEqual(len(free_devs), 1) self.inst.vm_state = vm_states.DELETED @@ -307,17 +315,18 @@ class PciDevTrackerTestCase(test.NoDBTestCase): @mock.patch('nova.objects.InstancePCIRequests.get_by_instance') def test_clean_usage(self, mock_get): inst_2 = copy.copy(self.inst) - inst_2.uuid = 'uuid5' + inst_2.uuid = uuidsentinel.instance2 migr = {'instance_uuid': 'uuid2', 'vm_state': vm_states.BUILDING} orph = {'uuid': 'uuid3', 'vm_state': vm_states.BUILDING} self._create_pci_requests_object(mock_get, [{'count': 1, 'spec': [{'vendor_id': 'v'}]}]) - self.tracker.claim_instance(None, self.inst) + self.tracker.claim_instance(None, mock_get.return_value, None) self.tracker.update_pci_for_instance(None, self.inst, sign=1) self._create_pci_requests_object(mock_get, - [{'count': 1, 'spec': [{'vendor_id': 'v1'}]}]) - self.tracker.claim_instance(None, inst_2) + [{'count': 1, 'spec': [{'vendor_id': 'v1'}]}], + instance_uuid=inst_2.uuid) + self.tracker.claim_instance(None, mock_get.return_value, None) self.tracker.update_pci_for_instance(None, inst_2, sign=1) free_devs = self.tracker.pci_stats.get_free_devs() self.assertEqual(len(free_devs), 1) @@ -333,16 +342,17 @@ class PciDevTrackerTestCase(test.NoDBTestCase): @mock.patch('nova.objects.InstancePCIRequests.get_by_instance') def test_clean_usage_claims(self, mock_get): inst_2 = copy.copy(self.inst) - inst_2.uuid = 'uuid5' + inst_2.uuid = uuidsentinel.instance2 migr = {'instance_uuid': 'uuid2', 'vm_state': vm_states.BUILDING} orph = {'uuid': 'uuid3', 'vm_state': vm_states.BUILDING} self._create_pci_requests_object(mock_get, [{'count': 1, 'spec': [{'vendor_id': 'v'}]}]) - self.tracker.claim_instance(None, self.inst) + self.tracker.claim_instance(None, mock_get.return_value, None) self.tracker.update_pci_for_instance(None, self.inst, sign=1) self._create_pci_requests_object(mock_get, - [{'count': 1, 'spec': [{'vendor_id': 'v1'}]}]) + [{'count': 1, 'spec': [{'vendor_id': 'v1'}]}], + instance_uuid=inst_2.uuid) self.tracker.update_pci_for_migration(None, inst_2) free_devs = self.tracker.pci_stats.get_free_devs() self.assertEqual(len(free_devs), 1) @@ -373,7 +383,7 @@ class PciDevTrackerTestCase(test.NoDBTestCase): def test_free_devices(self, mock_get): self._create_pci_requests_object(mock_get, [{'count': 1, 'spec': [{'vendor_id': 'v'}]}]) - self.tracker.claim_instance(None, self.inst) + self.tracker.claim_instance(None, mock_get.return_value, None) self.tracker.update_pci_for_instance(None, self.inst, sign=1) free_devs = self.tracker.pci_stats.get_free_devs() |