diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-05-24 01:00:23 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-05-24 01:00:23 +0000 |
| commit | 10c5d74dcd7cddc4dcefe27180eae5eb8587b1b6 (patch) | |
| tree | 195d431ca3381ae42e8f159e3458889371b7867e /nova/tests | |
| parent | eed5ccc27d7f12266d6bc5da2dcc3932bb1fddb5 (diff) | |
| parent | 7ab519806dfc6b44ada9fdd9eec3a342c5f9263f (diff) | |
Merge "Add scheduler filter: TypeAffinityFilter"
Diffstat (limited to 'nova/tests')
| -rw-r--r-- | nova/tests/scheduler/test_host_filters.py | 29 |
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']() |
