summaryrefslogtreecommitdiffstats
path: root/nova
diff options
context:
space:
mode:
authorRussell Bryant <rbryant@redhat.com>2012-05-29 17:22:33 -0400
committerRussell Bryant <rbryant@redhat.com>2012-05-31 15:19:31 -0400
commit72550284ee6cdbda9c1a6762deb140b670634d2f (patch)
treea5d76a51f8c1cf6e7bd15052f50973784aa65a1c /nova
parent836ffbd489f28a1d370cb1003bd8d62de4783351 (diff)
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
Diffstat (limited to 'nova')
-rw-r--r--nova/compute/manager.py9
-rw-r--r--nova/compute/rpcapi.py5
-rw-r--r--nova/tests/compute/test_rpcapi.py4
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)