summaryrefslogtreecommitdiff
path: root/nova/tests/unit/pci/test_manager.py
diff options
context:
space:
mode:
Diffstat (limited to 'nova/tests/unit/pci/test_manager.py')
-rw-r--r--nova/tests/unit/pci/test_manager.py44
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()