summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nova/compute/manager.py11
-rw-r--r--nova/compute/rpcapi.py5
-rw-r--r--nova/tests/compute/test_rpcapi.py4
3 files changed, 13 insertions, 7 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index 1ad74ee4a..377f498c2 100644
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -50,6 +50,7 @@ from nova import compute
from nova.compute import aggregate_states
from nova.compute import instance_types
from nova.compute import power_state
+from nova.compute import rpcapi as compute_rpcapi
from nova.compute import task_states
from nova.compute import utils as compute_utils
from nova.compute import vm_states
@@ -248,6 +249,7 @@ class ComputeManager(manager.SchedulerDependentManager):
self._last_bw_usage_poll = 0
self._last_info_cache_heal = 0
self.compute_api = compute.API()
+ self.compute_rpcapi = compute_rpcapi.ComputeAPI()
super(ComputeManager, self).__init__(service_name="compute",
*args, **kwargs)
@@ -1262,13 +1264,8 @@ class ComputeManager(manager.SchedulerDependentManager):
network_info = self._get_instance_nw_info(context, instance_ref)
self.driver.destroy(instance_ref, self._legacy_nw_info(network_info))
- topic = rpc.queue_get_for(context, FLAGS.compute_topic,
- migration_ref['source_compute'])
- rpc.cast(context, topic,
- {'method': 'finish_revert_resize',
- 'args': {'instance_uuid': instance_ref['uuid'],
- 'migration_id': migration_ref['id']},
- })
+ self.compute_rpcapi.finish_revert_resize(context, instance_ref,
+ migration_ref['id'], migration_ref['source_compute'])
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
@checks_instance_lock
diff --git a/nova/compute/rpcapi.py b/nova/compute/rpcapi.py
index 443a2ece6..78ccb8cea 100644
--- a/nova/compute/rpcapi.py
+++ b/nova/compute/rpcapi.py
@@ -96,6 +96,11 @@ class ComputeAPI(nova.rpc.proxy.RpcProxy):
instance_uuid=instance['uuid'], volume_id=volume_id),
topic=self._compute_topic(ctxt, None, instance))
+ 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),
+ topic=self._compute_topic(ctxt, host, None))
+
def get_console_output(self, ctxt, instance, tail_length):
return self.call(ctxt, self.make_msg('get_console_output',
instance_uuid=instance['uuid'], tail_length=tail_length),
diff --git a/nova/tests/compute/test_rpcapi.py b/nova/tests/compute/test_rpcapi.py
index de9d337f9..47c986c71 100644
--- a/nova/tests/compute/test_rpcapi.py
+++ b/nova/tests/compute/test_rpcapi.py
@@ -104,6 +104,10 @@ class ComputeRpcAPITestCase(test.TestCase):
self._test_compute_api('detach_volume', 'cast',
instance=self.fake_instance, volume_id='id')
+ def test_finish_revert_resize(self):
+ self._test_compute_api('finish_revert_resize', 'cast',
+ instance=self.fake_instance, migration_id='id', host='host')
+
def test_get_console_output(self):
self._test_compute_api('get_console_output', 'call',
instance=self.fake_instance, tail_length='tl')