From 4803074f2c02c87310c486f66fb66be98533805f Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Fri, 1 Jun 2012 12:29:24 -0700 Subject: Fixes affinity filters when hints is None * Fixes bug 1007573 * Includes failing tests Change-Id: I827588f0694c5dd7b5e8ff3173d4794a55946d81 --- nova/tests/scheduler/test_host_filters.py | 37 +++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'nova/tests') diff --git a/nova/tests/scheduler/test_host_filters.py b/nova/tests/scheduler/test_host_filters.py index e848a8951..59e424fed 100644 --- a/nova/tests/scheduler/test_host_filters.py +++ b/nova/tests/scheduler/test_host_filters.py @@ -137,6 +137,18 @@ class HostFiltersTestCase(test.TestCase): self.assertFalse(filt_cls.host_passes(host, filter_properties)) + def test_affinity_different_filter_handles_none(self): + filt_cls = self.class_map['DifferentHostFilter']() + host = fakes.FakeHostState('host1', 'compute', {}) + instance = fakes.FakeInstance(context=self.context, + params={'host': 'host2'}) + instance_uuid = instance.uuid + + filter_properties = {'context': self.context.elevated(), + 'scheduler_hints': None} + + self.assertTrue(filt_cls.host_passes(host, filter_properties)) + def test_affinity_same_filter_passes(self): filt_cls = self.class_map['SameHostFilter']() host = fakes.FakeHostState('host1', 'compute', {}) @@ -163,6 +175,18 @@ class HostFiltersTestCase(test.TestCase): self.assertFalse(filt_cls.host_passes(host, filter_properties)) + def test_affinity_same_filter_handles_none(self): + filt_cls = self.class_map['SameHostFilter']() + host = fakes.FakeHostState('host1', 'compute', {}) + instance = fakes.FakeInstance(context=self.context, + params={'host': 'host2'}) + instance_uuid = instance.uuid + + filter_properties = {'context': self.context.elevated(), + 'scheduler_hints': None} + + self.assertTrue(filt_cls.host_passes(host, filter_properties)) + def test_affinity_simple_cidr_filter_passes(self): filt_cls = self.class_map['SimpleCIDRAffinityFilter']() host = fakes.FakeHostState('host1', 'compute', {}) @@ -193,6 +217,19 @@ class HostFiltersTestCase(test.TestCase): self.assertFalse(filt_cls.host_passes(host, filter_properties)) + def test_affinity_simple_cidr_filter_handles_none(self): + filt_cls = self.class_map['SimpleCIDRAffinityFilter']() + host = fakes.FakeHostState('host1', 'compute', {}) + + affinity_ip = flags.FLAGS.my_ip.split('.')[0:3] + affinity_ip.append('100') + affinity_ip = str.join('.', affinity_ip) + + filter_properties = {'context': self.context.elevated(), + 'scheduler_hints': None} + + self.assertTrue(filt_cls.host_passes(host, filter_properties)) + def test_compute_filter_passes(self): self._stub_service_is_up(True) filt_cls = self.class_map['ComputeFilter']() -- cgit