Merge "Add post_live_migration_at_destination() to compute rpcapi."
This commit is contained in:
@@ -2105,11 +2105,8 @@ class ComputeManager(manager.SchedulerDependentManager):
|
||||
|
||||
# Define domain at destination host, without doing it,
|
||||
# pause/suspend/terminate do not work.
|
||||
rpc.call(ctxt,
|
||||
rpc.queue_get_for(ctxt, FLAGS.compute_topic, dest),
|
||||
{"method": "post_live_migration_at_destination",
|
||||
"args": {'instance_id': instance_ref['id'],
|
||||
'block_migration': block_migration}})
|
||||
self.compute_rpcapi.post_live_migration_at_destination(ctxt,
|
||||
instance_ref, block_migration, dest)
|
||||
|
||||
# No instance booting at source host, but instance dir
|
||||
# must be deleted for preparing next block migration
|
||||
|
||||
@@ -161,6 +161,13 @@ class ComputeAPI(nova.rpc.proxy.RpcProxy):
|
||||
instance_uuid=instance['uuid']),
|
||||
topic=self._compute_topic(ctxt, None, instance))
|
||||
|
||||
def post_live_migration_at_destination(self, ctxt, instance,
|
||||
block_migration, host):
|
||||
return self.call(ctxt,
|
||||
self.make_msg('post_live_migration_at_destination',
|
||||
instance_id=instance['id'], block_migration=block_migration),
|
||||
self._compute_topic(ctxt, host, None))
|
||||
|
||||
def pause_instance(self, ctxt, instance):
|
||||
self.cast(ctxt, self.make_msg('pause_instance',
|
||||
instance_uuid=instance['uuid']),
|
||||
|
||||
@@ -1528,7 +1528,8 @@ class ComputeTestCase(BaseTestCase):
|
||||
self.mox.StubOutWithMock(rpc, 'call')
|
||||
rpc.call(c, rpc.queue_get_for(c, FLAGS.compute_topic, dest),
|
||||
{"method": "post_live_migration_at_destination",
|
||||
"args": {'instance_id': i_ref['id'], 'block_migration': False}})
|
||||
"args": {'instance_id': i_ref['id'], 'block_migration': False},
|
||||
"version": compute_rpcapi.ComputeAPI.RPC_API_VERSION}, None)
|
||||
self.mox.StubOutWithMock(self.compute.driver, 'unplug_vifs')
|
||||
self.compute.driver.unplug_vifs(i_ref, [])
|
||||
rpc.call(c, 'network', {'method': 'setup_networks_on_host',
|
||||
|
||||
@@ -58,7 +58,8 @@ class ComputeRpcAPITestCase(test.TestCase):
|
||||
instance = expected_msg['args']['instance']
|
||||
del expected_msg['args']['instance']
|
||||
if method in ['rollback_live_migration_at_destination',
|
||||
'pre_live_migration']:
|
||||
'pre_live_migration',
|
||||
'post_live_migration_at_destination']:
|
||||
expected_msg['args']['instance_id'] = instance['id']
|
||||
else:
|
||||
expected_msg['args']['instance_uuid'] = instance['uuid']
|
||||
@@ -161,6 +162,11 @@ class ComputeRpcAPITestCase(test.TestCase):
|
||||
self._test_compute_api('lock_instance', 'cast',
|
||||
instance=self.fake_instance)
|
||||
|
||||
def test_post_live_migration_at_destination(self):
|
||||
self._test_compute_api('post_live_migration_at_destination', 'call',
|
||||
instance=self.fake_instance, block_migration='block_migration',
|
||||
host='host')
|
||||
|
||||
def test_pause_instance(self):
|
||||
self._test_compute_api('pause_instance', 'cast',
|
||||
instance=self.fake_instance)
|
||||
|
||||
Reference in New Issue
Block a user