summaryrefslogtreecommitdiffstats
path: root/nova/compute
diff options
context:
space:
mode:
authorRussell Bryant <rbryant@redhat.com>2012-05-29 18:28:09 -0400
committerRussell Bryant <rbryant@redhat.com>2012-05-31 15:19:31 -0400
commit3a829e3543b8a346fce95f71cd51f68e7c4aae41 (patch)
treea625abff77559825d5cf8e72b50dffb1e9425cc3 /nova/compute
parent18108a0143df0847fe1a4b105b787ca9ca76f422 (diff)
Add rollback_live_migration_at_destination() to compute rpcapi.
Part of bug 1006467. This patch adds rollback_live_migration_at_destination() to the compute rpcapi. This method is used by the compute manager. Change-Id: Iadbb50fc5cb0f7b5ad483d48666bc81e033ac5f4
Diffstat (limited to 'nova/compute')
-rw-r--r--nova/compute/manager.py6
-rw-r--r--nova/compute/rpcapi.py5
2 files changed, 7 insertions, 4 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index e0c2eb2da..95c5bd763 100644
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -2214,10 +2214,8 @@ class ComputeManager(manager.SchedulerDependentManager):
# before migration starts, so if any failure occurs,
# any empty images has to be deleted.
if block_migration:
- rpc.cast(context,
- rpc.queue_get_for(context, FLAGS.compute_topic, dest),
- {"method": "rollback_live_migration_at_destination",
- "args": {'instance_id': instance_ref['id']}})
+ self.compute_rpcapi.rollback_live_migration_at_destination(context,
+ instance_ref, dest)
def rollback_live_migration_at_destination(self, context, instance_id):
""" Cleaning up image directory that is created pre_live_migration.
diff --git a/nova/compute/rpcapi.py b/nova/compute/rpcapi.py
index 908c40c5e..c08cdfe15 100644
--- a/nova/compute/rpcapi.py
+++ b/nova/compute/rpcapi.py
@@ -244,6 +244,11 @@ class ComputeAPI(nova.rpc.proxy.RpcProxy):
instance_uuid=instance['uuid'], migration_id=migration_id),
topic=self._compute_topic(ctxt, host, instance))
+ def rollback_live_migration_at_destination(self, ctxt, instance, host):
+ self.cast(ctxt, self.make_msg('rollback_live_migration_at_destination',
+ instance_id=instance['id']),
+ topic=self._compute_topic(ctxt, host, None))
+
def set_admin_password(self, ctxt, instance, new_pass):
self.cast(ctxt, self.make_msg('set_admin_password',
instance_uuid=instance['uuid'], new_pass=new_pass),