summaryrefslogtreecommitdiff
path: root/nova/tests/unit/scheduler/test_host_manager.py
diff options
context:
space:
mode:
Diffstat (limited to 'nova/tests/unit/scheduler/test_host_manager.py')
-rw-r--r--nova/tests/unit/scheduler/test_host_manager.py85
1 files changed, 63 insertions, 22 deletions
diff --git a/nova/tests/unit/scheduler/test_host_manager.py b/nova/tests/unit/scheduler/test_host_manager.py
index 99146352fc..b3bfa8dcde 100644
--- a/nova/tests/unit/scheduler/test_host_manager.py
+++ b/nova/tests/unit/scheduler/test_host_manager.py
@@ -207,7 +207,10 @@ class HostManagerTestCase(test.NoDBTestCase):
self.assertEqual(set(info['expected_objs']), set(result))
def test_get_filtered_hosts(self):
- fake_properties = {'moo': 1, 'cow': 2}
+ fake_properties = objects.RequestSpec(ignore_hosts=[],
+ instance_uuid='fake-uuid1',
+ force_hosts=[],
+ force_nodes=[])
info = {'expected_objs': self.fake_hosts,
'expected_fprops': fake_properties}
@@ -220,7 +223,10 @@ class HostManagerTestCase(test.NoDBTestCase):
@mock.patch.object(FakeFilterClass2, '_filter_one', return_value=True)
def test_get_filtered_hosts_with_specified_filters(self, mock_filter_one):
- fake_properties = {'moo': 1, 'cow': 2}
+ fake_properties = objects.RequestSpec(ignore_hosts=[],
+ instance_uuid='fake-uuid1',
+ force_hosts=[],
+ force_nodes=[])
specified_filters = ['FakeFilterClass1', 'FakeFilterClass2']
info = {'expected_objs': self.fake_hosts,
@@ -232,8 +238,12 @@ class HostManagerTestCase(test.NoDBTestCase):
self._verify_result(info, result)
def test_get_filtered_hosts_with_ignore(self):
- fake_properties = {'ignore_hosts': ['fake_host1', 'fake_host3',
- 'fake_host5', 'fake_multihost']}
+ fake_properties = objects.RequestSpec(
+ instance_uuid='fake-uuid1',
+ ignore_hosts=['fake_host1', 'fake_host3',
+ 'fake_host5', 'fake_multihost'],
+ force_hosts=[],
+ force_nodes=[])
# [1] and [3] are host2 and host4
info = {'expected_objs': [self.fake_hosts[1], self.fake_hosts[3]],
@@ -245,8 +255,11 @@ class HostManagerTestCase(test.NoDBTestCase):
self._verify_result(info, result)
def test_get_filtered_hosts_with_force_hosts(self):
- fake_properties = {'force_hosts': ['fake_host1', 'fake_host3',
- 'fake_host5']}
+ fake_properties = objects.RequestSpec(
+ instance_uuid='fake-uuid1',
+ ignore_hosts=[],
+ force_hosts=['fake_host1', 'fake_host3', 'fake_host5'],
+ force_nodes=[])
# [0] and [2] are host1 and host3
info = {'expected_objs': [self.fake_hosts[0], self.fake_hosts[2]],
@@ -258,7 +271,11 @@ class HostManagerTestCase(test.NoDBTestCase):
self._verify_result(info, result, False)
def test_get_filtered_hosts_with_no_matching_force_hosts(self):
- fake_properties = {'force_hosts': ['fake_host5', 'fake_host6']}
+ fake_properties = objects.RequestSpec(
+ instance_uuid='fake-uuid1',
+ ignore_hosts=[],
+ force_hosts=['fake_host5', 'fake_host6'],
+ force_nodes=[])
info = {'expected_objs': [],
'expected_fprops': fake_properties}
@@ -270,8 +287,11 @@ class HostManagerTestCase(test.NoDBTestCase):
def test_get_filtered_hosts_with_ignore_and_force_hosts(self):
# Ensure ignore_hosts processed before force_hosts in host filters.
- fake_properties = {'force_hosts': ['fake_host3', 'fake_host1'],
- 'ignore_hosts': ['fake_host1']}
+ fake_properties = objects.RequestSpec(
+ instance_uuid='fake-uuid1',
+ ignore_hosts=['fake_host1'],
+ force_hosts=['fake_host3', 'fake_host1'],
+ force_nodes=[])
# only fake_host3 should be left.
info = {'expected_objs': [self.fake_hosts[2]],
@@ -284,7 +304,11 @@ class HostManagerTestCase(test.NoDBTestCase):
def test_get_filtered_hosts_with_force_host_and_many_nodes(self):
# Ensure all nodes returned for a host with many nodes
- fake_properties = {'force_hosts': ['fake_multihost']}
+ fake_properties = objects.RequestSpec(
+ instance_uuid='fake-uuid1',
+ ignore_hosts=[],
+ force_hosts=['fake_multihost'],
+ force_nodes=[])
info = {'expected_objs': [self.fake_hosts[4], self.fake_hosts[5],
self.fake_hosts[6], self.fake_hosts[7]],
@@ -296,8 +320,11 @@ class HostManagerTestCase(test.NoDBTestCase):
self._verify_result(info, result, False)
def test_get_filtered_hosts_with_force_nodes(self):
- fake_properties = {'force_nodes': ['fake-node2', 'fake-node4',
- 'fake-node9']}
+ fake_properties = objects.RequestSpec(
+ instance_uuid='fake-uuid1',
+ ignore_hosts=[],
+ force_hosts=[],
+ force_nodes=['fake-node2', 'fake-node4', 'fake-node9'])
# [5] is fake-node2, [7] is fake-node4
info = {'expected_objs': [self.fake_hosts[5], self.fake_hosts[7]],
@@ -310,8 +337,11 @@ class HostManagerTestCase(test.NoDBTestCase):
def test_get_filtered_hosts_with_force_hosts_and_nodes(self):
# Ensure only overlapping results if both force host and node
- fake_properties = {'force_hosts': ['fake_host1', 'fake_multihost'],
- 'force_nodes': ['fake-node2', 'fake-node9']}
+ fake_properties = objects.RequestSpec(
+ instance_uuid='fake-uuid1',
+ ignore_hosts=[],
+ force_hosts=['fake-host1', 'fake_multihost'],
+ force_nodes=['fake-node2', 'fake-node9'])
# [5] is fake-node2
info = {'expected_objs': [self.fake_hosts[5]],
@@ -324,8 +354,11 @@ class HostManagerTestCase(test.NoDBTestCase):
def test_get_filtered_hosts_with_force_hosts_and_wrong_nodes(self):
# Ensure non-overlapping force_node and force_host yield no result
- fake_properties = {'force_hosts': ['fake_multihost'],
- 'force_nodes': ['fake-node']}
+ fake_properties = objects.RequestSpec(
+ instance_uuid='fake-uuid1',
+ ignore_hosts=[],
+ force_hosts=['fake_multihost'],
+ force_nodes=['fake-node'])
info = {'expected_objs': [],
'expected_fprops': fake_properties}
@@ -337,8 +370,11 @@ class HostManagerTestCase(test.NoDBTestCase):
def test_get_filtered_hosts_with_ignore_hosts_and_force_nodes(self):
# Ensure ignore_hosts can coexist with force_nodes
- fake_properties = {'force_nodes': ['fake-node4', 'fake-node2'],
- 'ignore_hosts': ['fake_host1', 'fake_host2']}
+ fake_properties = objects.RequestSpec(
+ instance_uuid='fake-uuid1',
+ ignore_hosts=['fake_host1', 'fake_host2'],
+ force_hosts=[],
+ force_nodes=['fake-node4', 'fake-node2'])
info = {'expected_objs': [self.fake_hosts[5], self.fake_hosts[7]],
'expected_fprops': fake_properties}
@@ -350,8 +386,11 @@ class HostManagerTestCase(test.NoDBTestCase):
def test_get_filtered_hosts_with_ignore_hosts_and_force_same_nodes(self):
# Ensure ignore_hosts is processed before force_nodes
- fake_properties = {'force_nodes': ['fake_node4', 'fake_node2'],
- 'ignore_hosts': ['fake_multihost']}
+ fake_properties = objects.RequestSpec(
+ instance_uuid='fake-uuid1',
+ ignore_hosts=['fake_multihost'],
+ force_hosts=[],
+ force_nodes=['fake_node4', 'fake_node2'])
info = {'expected_objs': [],
'expected_fprops': fake_properties}
@@ -885,9 +924,9 @@ class HostStateTestCase(test.NoDBTestCase):
numa_fit_mock.return_value = fake_numa_topology
instance_init_mock.return_value = fake_instance
spec_obj = objects.RequestSpec(
+ instance_uuid='fake-uuid',
flavor=objects.Flavor(root_gb=0, ephemeral_gb=0, memory_mb=0,
vcpus=0),
- uuid='fake-uuid',
numa_topology=fake_numa_topology,
pci_requests=objects.InstancePCIRequests(requests=[]))
host = host_manager.HostState("fakehost", "fakenode")
@@ -905,9 +944,9 @@ class HostStateTestCase(test.NoDBTestCase):
second_numa_topology = objects.InstanceNUMATopology(
cells=[objects.InstanceNUMACell()])
spec_obj = objects.RequestSpec(
+ instance_uuid='fake-uuid',
flavor=objects.Flavor(root_gb=0, ephemeral_gb=0, memory_mb=0,
vcpus=0),
- uuid='fake-uuid',
numa_topology=second_numa_topology,
pci_requests=objects.InstancePCIRequests(requests=[]))
second_host_numa_topology = mock.Mock()
@@ -936,6 +975,7 @@ class HostStateTestCase(test.NoDBTestCase):
for r in fake_requests],
instance_uuid='fake-uuid')
req_spec = objects.RequestSpec(
+ instance_uuid='fake-uuid',
project_id='12345',
numa_topology=inst_topology,
pci_requests=fake_requests_obj,
@@ -968,6 +1008,7 @@ class HostStateTestCase(test.NoDBTestCase):
for r in fake_requests],
instance_uuid='fake-uuid')
req_spec = objects.RequestSpec(
+ instance_uuid='fake-uuid',
project_id='12345',
numa_topology=None,
pci_requests=fake_requests_obj,