diff options
| author | Dan Smith <danms@us.ibm.com> | 2013-01-04 06:56:39 -0800 |
|---|---|---|
| committer | Dan Smith <danms@us.ibm.com> | 2013-01-04 08:37:20 -0800 |
| commit | d7542c116f45b3e314ecc7bacfd885ee43a36808 (patch) | |
| tree | c10588a2964730942f7517e97475e460abcda13a /nova | |
| parent | 9f1b8228c93571552de4df73d1827dcd21498256 (diff) | |
Move instance_info_cache_delete() to conductor
This patch moves compute/manager's use of
instance_info_cache_delete() to conductor.
Related to blueprint no-db-compute-manager
Change-Id: I4e7f2d95ddc26c0dbea1a644ca23026339ce720e
Diffstat (limited to 'nova')
| -rw-r--r-- | nova/compute/manager.py | 2 | ||||
| -rw-r--r-- | nova/conductor/api.py | 7 | ||||
| -rw-r--r-- | nova/conductor/manager.py | 5 | ||||
| -rw-r--r-- | nova/conductor/rpcapi.py | 6 | ||||
| -rw-r--r-- | nova/tests/conductor/test_conductor.py | 7 |
5 files changed, 25 insertions, 2 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py index cf35b24ff..d712550d9 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -1029,7 +1029,7 @@ class ComputeManager(manager.SchedulerDependentManager): def _delete_instance(self, context, instance, bdms): """Delete an instance on this host.""" instance_uuid = instance['uuid'] - self.db.instance_info_cache_delete(context, instance_uuid) + self.conductor_api.instance_info_cache_delete(context, instance) self._notify_about_instance_usage(context, instance, "delete.start") self._shutdown_instance(context, instance, bdms) # NOTE(vish): We have already deleted the instance, so we have diff --git a/nova/conductor/api.py b/nova/conductor/api.py index 838b4c050..4f954a02d 100644 --- a/nova/conductor/api.py +++ b/nova/conductor/api.py @@ -101,6 +101,9 @@ class LocalAPI(object): return self._manager.instance_get_active_by_window( context, begin, end, project_id, host) + def instance_info_cache_delete(self, context, instance): + return self._manager.instance_info_cache_delete(context, instance) + def migration_get(self, context, migration_id): return self._manager.migration_get(context, migration_id) @@ -234,6 +237,10 @@ class API(object): return self.conductor_rpcapi.instance_get_active_by_window( context, begin, end, project_id, host) + def instance_info_cache_delete(self, context, instance): + return self.conductor_rpcapi.instance_info_cache_delete(context, + instance) + def migration_get(self, context, migration_id): return self.conductor_rpcapi.migration_get(context, migration_id) diff --git a/nova/conductor/manager.py b/nova/conductor/manager.py index 997e23c60..1a9736a6b 100644 --- a/nova/conductor/manager.py +++ b/nova/conductor/manager.py @@ -43,7 +43,7 @@ datetime_fields = ['launched_at', 'terminated_at'] class ConductorManager(manager.SchedulerDependentManager): """Mission: TBD""" - RPC_API_VERSION = '1.16' + RPC_API_VERSION = '1.17' def __init__(self, *args, **kwargs): super(ConductorManager, self).__init__(service_name='conductor', @@ -208,3 +208,6 @@ class ConductorManager(manager.SchedulerDependentManager): def instance_destroy(self, context, instance): self.db.instance_destroy(context, instance['uuid']) + + def instance_info_cache_delete(self, context, instance): + self.db.instance_info_cache_delete(context, instance['uuid']) diff --git a/nova/conductor/rpcapi.py b/nova/conductor/rpcapi.py index bbbdd7054..1279cdcf0 100644 --- a/nova/conductor/rpcapi.py +++ b/nova/conductor/rpcapi.py @@ -48,6 +48,7 @@ class ConductorAPI(nova.openstack.common.rpc.proxy.RpcProxy): instance_get_active_by_window Deprecated instance_get_all_by_host 1.16 - Added instance_destroy + 1.17 - Added instance_info_cache_delete """ BASE_RPC_API_VERSION = '1.0' @@ -196,3 +197,8 @@ class ConductorAPI(nova.openstack.common.rpc.proxy.RpcProxy): instance_p = jsonutils.to_primitive(instance) msg = self.make_msg('instance_destroy', instance=instance_p) self.call(context, msg, version='1.16') + + def instance_info_cache_delete(self, context, instance): + instance_p = jsonutils.to_primitive(instance) + msg = self.make_msg('instance_info_cache_delete', instance=instance_p) + self.call(context, msg, version='1.17') diff --git a/nova/tests/conductor/test_conductor.py b/nova/tests/conductor/test_conductor.py index 18035c135..2cfbe904f 100644 --- a/nova/tests/conductor/test_conductor.py +++ b/nova/tests/conductor/test_conductor.py @@ -294,6 +294,13 @@ class _BaseTestCase(object): self.mox.ReplayAll() self.conductor.instance_destroy(self.context, {'uuid': 'fake-uuid'}) + def test_instance_info_cache_delete(self): + self.mox.StubOutWithMock(db, 'instance_info_cache_delete') + db.instance_info_cache_delete(self.context, 'fake-uuid') + self.mox.ReplayAll() + self.conductor.instance_info_cache_delete(self.context, + {'uuid': 'fake-uuid'}) + class ConductorTestCase(_BaseTestCase, test.TestCase): """Conductor Manager Tests""" |
