summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-05-24 01:00:23 +0000
committerGerrit Code Review <review@openstack.org>2012-05-24 01:00:23 +0000
commit10c5d74dcd7cddc4dcefe27180eae5eb8587b1b6 (patch)
tree195d431ca3381ae42e8f159e3458889371b7867e /nova/tests
parenteed5ccc27d7f12266d6bc5da2dcc3932bb1fddb5 (diff)
parent7ab519806dfc6b44ada9fdd9eec3a342c5f9263f (diff)
Merge "Add scheduler filter: TypeAffinityFilter"
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/scheduler/test_host_filters.py29
1 files changed, 28 insertions, 1 deletions
diff --git a/nova/tests/scheduler/test_host_filters.py b/nova/tests/scheduler/test_host_filters.py
index 5659d9467..22a162aa2 100644
--- a/nova/tests/scheduler/test_host_filters.py
+++ b/nova/tests/scheduler/test_host_filters.py
@@ -45,7 +45,7 @@ class HostFiltersTestCase(test.TestCase):
['and', ['>=', '$free_ram_mb', 1024],
['>=', '$free_disk_mb', 200 * 1024]])
# This has a side effect of testing 'get_filter_classes'
- # when specifing a method (in this case, our standard filters)
+ # when specifying a method (in this case, our standard filters)
classes = filters.get_filter_classes(
['nova.scheduler.filters.standard_filters'])
self.class_map = {}
@@ -174,6 +174,33 @@ class HostFiltersTestCase(test.TestCase):
'service': service})
self.assertTrue(filt_cls.host_passes(host, filter_properties))
+ def test_type_filter(self):
+ self._stub_service_is_up(True)
+ filt_cls = self.class_map['TypeAffinityFilter']()
+
+ filter_properties = {'context': self.context,
+ 'instance_type': {'id': 1}}
+ filter2_properties = {'context': self.context,
+ 'instance_type': {'id': 2}}
+
+ capabilities = {'enabled': True}
+ service = {'disabled': False}
+ host = fakes.FakeHostState('fake_host', 'compute',
+ {'capabilities': capabilities,
+ 'service': service})
+ #True since empty
+ self.assertTrue(filt_cls.host_passes(host, filter_properties))
+ fakes.FakeInstance(context=self.context,
+ params={'host': 'fake_host', 'instance_type_id': 1})
+ #True since same type
+ self.assertTrue(filt_cls.host_passes(host, filter_properties))
+ #False since different type
+ self.assertFalse(filt_cls.host_passes(host, filter2_properties))
+ #False since node not homogeneous
+ fakes.FakeInstance(context=self.context,
+ params={'host': 'fake_host', 'instance_type_id': 2})
+ self.assertFalse(filt_cls.host_passes(host, filter_properties))
+
def test_ram_filter_fails_on_memory(self):
self._stub_service_is_up(True)
filt_cls = self.class_map['RamFilter']()