diff options
| author | Jenkins <jenkins@review.openstack.org> | 2013-06-18 22:05:05 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2013-06-18 22:05:05 +0000 |
| commit | cd74b67c33b0062e4f7dbb04e512f205da9e1e9a (patch) | |
| tree | 8daf717679a6f693b24a756f8487a1c34c1e1fa0 | |
| parent | 888d4be61fb49b2fff9bd4cb28c5f1bacfb4f4d6 (diff) | |
| parent | e5e0fddad9ac208087f4e5b5c644575ad6d5c796 (diff) | |
| download | nova-cd74b67c33b0062e4f7dbb04e512f205da9e1e9a.tar.gz nova-cd74b67c33b0062e4f7dbb04e512f205da9e1e9a.tar.xz nova-cd74b67c33b0062e4f7dbb04e512f205da9e1e9a.zip | |
Merge "Fix flavor extra_specs filter doesn't work for number"
| -rw-r--r-- | nova/scheduler/filters/compute_capabilities_filter.py | 2 | ||||
| -rw-r--r-- | nova/tests/scheduler/test_host_filters.py | 13 |
2 files changed, 9 insertions, 6 deletions
diff --git a/nova/scheduler/filters/compute_capabilities_filter.py b/nova/scheduler/filters/compute_capabilities_filter.py index 7fb5725b6..36629435c 100644 --- a/nova/scheduler/filters/compute_capabilities_filter.py +++ b/nova/scheduler/filters/compute_capabilities_filter.py @@ -46,7 +46,7 @@ class ComputeCapabilitiesFilter(filters.BaseHostFilter): return False if cap is None: return False - if not extra_specs_ops.match(cap, req): + if not extra_specs_ops.match(str(cap), req): return False return True diff --git a/nova/tests/scheduler/test_host_filters.py b/nova/tests/scheduler/test_host_filters.py index b09e23f1d..9306615ed 100644 --- a/nova/tests/scheduler/test_host_filters.py +++ b/nova/tests/scheduler/test_host_filters.py @@ -708,6 +708,9 @@ class HostFiltersTestCase(test.NoDBTestCase): self.assertFalse(filt_cls.host_passes(host, filter_properties)) def _do_test_compute_filter_extra_specs(self, ecaps, especs, passes): + """In real Openstack runtime environment,compute capabilities + value may be number, so we should use number to do unit test. + """ self._stub_service_is_up(True) filt_cls = self.class_map['ComputeCapabilitiesFilter']() capabilities = {'enabled': True} @@ -723,33 +726,33 @@ class HostFiltersTestCase(test.NoDBTestCase): def test_compute_filter_passes_extra_specs_simple(self): self._do_test_compute_filter_extra_specs( - ecaps={'opt1': '1', 'opt2': '2'}, + ecaps={'opt1': 1, 'opt2': 2}, especs={'opt1': '1', 'opt2': '2', 'trust:trusted_host': 'true'}, passes=True) def test_compute_filter_fails_extra_specs_simple(self): self._do_test_compute_filter_extra_specs( - ecaps={'opt1': '1', 'opt2': '2'}, + ecaps={'opt1': 1, 'opt2': 2}, especs={'opt1': '1', 'opt2': '222', 'trust:trusted_host': 'true'}, passes=False) def test_compute_filter_pass_extra_specs_simple_with_scope(self): self._do_test_compute_filter_extra_specs( - ecaps={'opt1': '1', 'opt2': '2'}, + ecaps={'opt1': 1, 'opt2': 2}, especs={'capabilities:opt1': '1', 'trust:trusted_host': 'true'}, passes=True) def test_compute_filter_extra_specs_simple_with_wrong_scope(self): self._do_test_compute_filter_extra_specs( - ecaps={'opt1': '1', 'opt2': '2'}, + ecaps={'opt1': 1, 'opt2': 2}, especs={'wrong_scope:opt1': '1', 'trust:trusted_host': 'true'}, passes=True) def test_compute_filter_extra_specs_pass_multi_level_with_scope(self): self._do_test_compute_filter_extra_specs( - ecaps={'opt1': {'a': '1', 'b': {'aa': '2'}}, 'opt2': '2'}, + ecaps={'opt1': {'a': 1, 'b': {'aa': 2}}, 'opt2': 2}, especs={'opt1:a': '1', 'capabilities:opt1:b:aa': '2', 'trust:trusted_host': 'true'}, passes=True) |
