diff options
Diffstat (limited to 'nova/test.py')
-rw-r--r-- | nova/test.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/nova/test.py b/nova/test.py index 562bd2516e..e37967b06d 100644 --- a/nova/test.py +++ b/nova/test.py @@ -62,6 +62,7 @@ from nova import objects from nova.objects import base as objects_base from nova import quota from nova.scheduler.client import report +from nova.scheduler import utils as scheduler_utils from nova.tests import fixtures as nova_fixtures from nova.tests.unit import matchers from nova import utils @@ -171,6 +172,12 @@ class TestCase(base.BaseTestCase): # base class when USES_DB is True. NUMBER_OF_CELLS = 1 + # The stable compute id stuff is intentionally singleton-ish, which makes + # it a nightmare for testing multiple host/node combinations in tests like + # we do. So, mock it out by default, unless the test is specifically + # designed to handle it. + STUB_COMPUTE_ID = True + def setUp(self): """Run before each test method to initialize test environment.""" # Ensure BaseTestCase's ConfigureLogging fixture is disabled since @@ -301,7 +308,14 @@ class TestCase(base.BaseTestCase): # Reset our local node uuid cache (and avoid writing to the # local filesystem when we generate a new one). - self.useFixture(nova_fixtures.ComputeNodeIdFixture()) + if self.STUB_COMPUTE_ID: + self.useFixture(nova_fixtures.ComputeNodeIdFixture()) + + # Reset globals indicating affinity filter support. Some tests may set + # self.flags(enabled_filters=...) which could make the affinity filter + # support globals get set to a non-default configuration which affects + # all other tests. + scheduler_utils.reset_globals() def _setup_cells(self): """Setup a normal cellsv2 environment. |