summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell Bryant <rbryant@redhat.com>2012-05-29 18:12:49 -0400
committerRussell Bryant <rbryant@redhat.com>2012-05-31 15:19:31 -0400
commit18108a0143df0847fe1a4b105b787ca9ca76f422 (patch)
tree8c320e0a7600a22e20f2bb1c6e099df4d4f13b06
parent72550284ee6cdbda9c1a6762deb140b670634d2f (diff)
downloadnova-18108a0143df0847fe1a4b105b787ca9ca76f422.tar.gz
nova-18108a0143df0847fe1a4b105b787ca9ca76f422.tar.xz
nova-18108a0143df0847fe1a4b105b787ca9ca76f422.zip
Add finish_resize() to the compute rpcapi.
Part of bug 1006467. This patch adds the finish_resize() method to the compute rpcapi. It is used by the compute manager. Change-Id: I989bc70c1af44001a095e64b8abde05a0f99964d
-rw-r--r--nova/compute/manager.py13
-rw-r--r--nova/compute/rpcapi.py7
-rw-r--r--nova/tests/compute/test_rpcapi.py5
3 files changed, 14 insertions, 11 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index fde9e0e4c..e0c2eb2da 100644
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -1407,17 +1407,8 @@ class ComputeManager(manager.SchedulerDependentManager):
self._instance_update(context, instance_uuid,
task_state=task_states.RESIZE_MIGRATED)
- service = self.db.service_get_by_host_and_topic(
- context, migration_ref['dest_compute'], FLAGS.compute_topic)
- topic = rpc.queue_get_for(context,
- FLAGS.compute_topic,
- migration_ref['dest_compute'])
- params = {'migration_id': migration_id,
- 'disk_info': disk_info,
- 'instance_uuid': instance_ref['uuid'],
- 'image': image}
- rpc.cast(context, topic, {'method': 'finish_resize',
- 'args': params})
+ self.compute_rpcapi.finish_resize(context, instance_ref, migration_id,
+ image, disk_info, migration_ref['dest_compute'])
self._notify_about_instance_usage(context, instance_ref, "resize.end",
network_info=network_info)
diff --git a/nova/compute/rpcapi.py b/nova/compute/rpcapi.py
index f77af0415..908c40c5e 100644
--- a/nova/compute/rpcapi.py
+++ b/nova/compute/rpcapi.py
@@ -96,6 +96,13 @@ class ComputeAPI(nova.rpc.proxy.RpcProxy):
instance_uuid=instance['uuid'], volume_id=volume_id),
topic=self._compute_topic(ctxt, None, instance))
+ def finish_resize(self, ctxt, instance, migration_id, image, disk_info,
+ host):
+ self.cast(ctxt, self.make_msg('finish_resize',
+ instance_uuid=instance['uuid'], migration_id=migration_id,
+ image=image, disk_info=disk_info),
+ topic=self._compute_topic(ctxt, host, None))
+
def finish_revert_resize(self, ctxt, instance, migration_id, host):
self.cast(ctxt, self.make_msg('finish_revert_resize',
instance_uuid=instance['uuid'], migration_id=migration_id),
diff --git a/nova/tests/compute/test_rpcapi.py b/nova/tests/compute/test_rpcapi.py
index 8d78f3a64..cb50bc39a 100644
--- a/nova/tests/compute/test_rpcapi.py
+++ b/nova/tests/compute/test_rpcapi.py
@@ -104,6 +104,11 @@ class ComputeRpcAPITestCase(test.TestCase):
self._test_compute_api('detach_volume', 'cast',
instance=self.fake_instance, volume_id='id')
+ def test_finish_resize(self):
+ self._test_compute_api('finish_resize', 'cast',
+ instance=self.fake_instance, migration_id='id',
+ image='image', disk_info='disk_info', host='host')
+
def test_finish_revert_resize(self):
self._test_compute_api('finish_revert_resize', 'cast',
instance=self.fake_instance, migration_id='id', host='host')