From 53c40cfc18fe5c57ca724e5d7902e18fe09cc09f Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Thu, 16 Aug 2012 12:02:34 +0100 Subject: Fix regression in compute_capabilities filter Fixes bug #1037503 Restore the previous behaviour of matching simple strings in extra specs against compute node capabilities. Change-Id: I485e9e63f860a83f7c9c0c41d09919eabe9e66ae --- nova/tests/scheduler/test_host_filters.py | 44 ++++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 10 deletions(-) (limited to 'nova/tests') diff --git a/nova/tests/scheduler/test_host_filters.py b/nova/tests/scheduler/test_host_filters.py index 890c31bac..d6f083576 100644 --- a/nova/tests/scheduler/test_host_filters.py +++ b/nova/tests/scheduler/test_host_filters.py @@ -508,29 +508,53 @@ class HostFiltersTestCase(test.TestCase): assertion = self.assertTrue if passes else self.assertFalse assertion(filt_cls.host_passes(host, filter_properties)) - def test_compute_filter_passes_extra_specs_noop(self): + def test_compute_filter_passes_extra_specs_simple1(self): self._do_test_compute_filter_extra_specs( ecaps={'opt1': '1', 'opt2': '2'}, - especs={'opt1': '1111', 'opt2': '222'}, + especs={'opt1': '1'}, passes=True) - def test_compute_filter_passes_extra_specs_noop2(self): + def test_compute_filter_passes_extra_specs_simple2(self): self._do_test_compute_filter_extra_specs( - ecaps={'opt3': '1', 'opt4': '2'}, - especs={'opt1': '1111', 'opt2': '222'}, + ecaps={'opt1': '1', 'opt2': '2'}, + especs={'opt1': '1', 'opt2': '2'}, passes=True) - def test_compute_filter_passes_extra_specs_noop3(self): + def test_compute_filter_fails_extra_specs_simple1(self): self._do_test_compute_filter_extra_specs( ecaps={'opt1': '1', 'opt2': '2'}, - especs={'opt1': '', 'opt2': ''}, - passes=True) + especs={'opt1': '1111'}, + passes=False) + + def test_compute_filter_fails_extra_specs_simple2(self): + self._do_test_compute_filter_extra_specs( + ecaps={'opt1': '1', 'opt2': '2'}, + especs={'opt1': ''}, + passes=False) + + def test_compute_filter_fails_extra_specs_simple3(self): + self._do_test_compute_filter_extra_specs( + ecaps={'opt1': '1', 'opt2': '2'}, + especs={'opt3': '3'}, + passes=False) + + def test_compute_filter_fails_extra_specs_simple4(self): + self._do_test_compute_filter_extra_specs( + ecaps={'opt1': '1', 'opt2': '2'}, + especs={'opt1': '1', 'opt2': '222'}, + passes=False) + + def test_compute_filter_fails_extra_specs_simple5(self): + self._do_test_compute_filter_extra_specs( + ecaps={'opt1': '1', 'opt2': '2'}, + especs={'opt1': '1111', 'opt2': '222'}, + passes=False) - def test_compute_filter_passes_extra_specs_noop4(self): + def test_compute_filter_fails_extra_specs_with_bogus_ops(self): self._do_test_compute_filter_extra_specs( ecaps={'opt1': '2', 'opt2': '5'}, especs={'opt1': '> 4', 'opt2': '< 3'}, - passes=True) + passes=False) def test_compute_filter_passes_extra_specs_with_op_eq(self): self._do_test_compute_filter_extra_specs( -- cgit