diff options
| author | Russell Bryant <rbryant@redhat.com> | 2013-01-11 09:54:07 -0500 |
|---|---|---|
| committer | Russell Bryant <rbryant@redhat.com> | 2013-01-11 18:06:57 -0500 |
| commit | b09dabae177d4eb1dc5ba19d0c7962c7fec9faad (patch) | |
| tree | 2db6ad1f662e751cb4eee94abea78693d507c741 /nova | |
| parent | 42f3d0bdbda3c54c0d3490e0f407e7dbb8f574ca (diff) | |
Allow forcing local conductor.
This patch updates the conductor API to allow passing in a kwarg to
force local usage, even if configured for remote usage globally. This
is useful if we want to convert some parts of the code to use conductor
db proxy APIs, but want to optimize usage to be local for cases where
using the db directly is not a problem.
Part of bp no-db-compute.
Change-Id: Ib7a717e1a6f132022787626e65cacaa8a4afd86c
Diffstat (limited to 'nova')
| -rw-r--r-- | nova/conductor/__init__.py | 3 | ||||
| -rw-r--r-- | nova/tests/conductor/test_conductor.py | 5 |
2 files changed, 7 insertions, 1 deletions
diff --git a/nova/conductor/__init__.py b/nova/conductor/__init__.py index 1e31da54c..4c702d037 100644 --- a/nova/conductor/__init__.py +++ b/nova/conductor/__init__.py @@ -18,7 +18,8 @@ import nova.openstack.common.importutils def API(*args, **kwargs): - if nova.openstack.common.cfg.CONF.conductor.use_local: + use_local = kwargs.pop('use_local', False) + if nova.openstack.common.cfg.CONF.conductor.use_local or use_local: api = conductor_api.LocalAPI else: api = conductor_api.API diff --git a/nova/tests/conductor/test_conductor.py b/nova/tests/conductor/test_conductor.py index 7986fc583..909174fa9 100644 --- a/nova/tests/conductor/test_conductor.py +++ b/nova/tests/conductor/test_conductor.py @@ -700,6 +700,11 @@ class ConductorImportTest(test.TestCase): self.assertTrue(isinstance(conductor.API(), conductor_api.API)) + def test_import_conductor_override_to_local(self): + self.flags(use_local=False, group='conductor') + self.assertTrue(isinstance(conductor.API(use_local=True), + conductor_api.LocalAPI)) + class ConductorPolicyTest(test.TestCase): def test_all_allowed_keys(self): |
