From 72550284ee6cdbda9c1a6762deb140b670634d2f Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Tue, 29 May 2012 17:22:33 -0400 Subject: Add resize_instance() to the compute rpcapi. Part of bug 1006467. This method is used by the compute manager. Add it to the compute rpcapi and use it from there. Change-Id: I873fc0740595f7387ea476b11fd2c70d29d4765a --- nova/compute/manager.py | 9 ++------- nova/compute/rpcapi.py | 5 +++++ nova/tests/compute/test_rpcapi.py | 4 ++++ 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/nova/compute/manager.py b/nova/compute/manager.py index 377f498c2..fde9e0e4c 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -1351,13 +1351,8 @@ class ComputeManager(manager.SchedulerDependentManager): 'status': 'pre-migrating'}) LOG.audit(_('Migrating'), context=context, instance=instance_ref) - topic = rpc.queue_get_for(context, FLAGS.compute_topic, - instance_ref['host']) - rpc.cast(context, topic, - {'method': 'resize_instance', - 'args': {'instance_uuid': instance_ref['uuid'], - 'migration_id': migration_ref['id'], - 'image': image}}) + self.compute_rpcapi.resize_instance(context, instance_ref, + migration_ref['id'], image) extra_usage_info = dict(new_instance_type=new_instance_type['name'], new_instance_type_id=new_instance_type['id']) diff --git a/nova/compute/rpcapi.py b/nova/compute/rpcapi.py index 78ccb8cea..f77af0415 100644 --- a/nova/compute/rpcapi.py +++ b/nova/compute/rpcapi.py @@ -222,6 +222,11 @@ class ComputeAPI(nova.rpc.proxy.RpcProxy): instance_uuid=instance['uuid']), topic=self._compute_topic(ctxt, None, instance)) + def resize_instance(self, ctxt, instance, migration_id, image): + self.cast(ctxt, self.make_msg('resize_instance', + instance_uuid=instance['uuid'], migration_id=migration_id, + image=image), topic=self._compute_topic(ctxt, None, instance)) + def resume_instance(self, ctxt, instance): self.cast(ctxt, self.make_msg('resume_instance', instance_uuid=instance['uuid']), diff --git a/nova/tests/compute/test_rpcapi.py b/nova/tests/compute/test_rpcapi.py index 47c986c71..8d78f3a64 100644 --- a/nova/tests/compute/test_rpcapi.py +++ b/nova/tests/compute/test_rpcapi.py @@ -190,6 +190,10 @@ class ComputeRpcAPITestCase(test.TestCase): self._test_compute_api('reset_network', 'cast', instance=self.fake_instance) + def test_resize_instance(self): + self._test_compute_api('resize_instance', 'cast', + instance=self.fake_instance, migration_id='id', image='image') + def test_resume_instance(self): self._test_compute_api('resume_instance', 'cast', instance=self.fake_instance) -- cgit