diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-11-05 23:41:59 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-11-05 23:41:59 +0000 |
| commit | 90808d745500960eebf8b36ed93df29971d45275 (patch) | |
| tree | 3ebd8f94e75b20faf2ef979587dde7419c691a4b | |
| parent | 33c4e6bd0b735d2dfb7ca032fcd834639e23cb2e (diff) | |
| parent | df744204b334f68edc34f703a1a7b89840b0d9ad (diff) | |
Merge "Send all migration data to revert_resize."
| -rw-r--r-- | nova/compute/api.py | 2 | ||||
| -rw-r--r-- | nova/compute/manager.py | 15 | ||||
| -rw-r--r-- | nova/compute/rpcapi.py | 9 | ||||
| -rw-r--r-- | nova/tests/compute/test_rpcapi.py | 4 |
4 files changed, 17 insertions, 13 deletions
diff --git a/nova/compute/api.py b/nova/compute/api.py index f72387f30..e7abeee9d 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -1558,7 +1558,7 @@ class API(base.Base): expected_task_state=None) self.compute_rpcapi.revert_resize(context, - instance=instance, migration_id=migration_ref['id'], + instance=instance, migration=migration_ref, host=migration_ref['dest_compute'], reservations=reservations) self.db.migration_update(elevated, migration_ref['id'], diff --git a/nova/compute/manager.py b/nova/compute/manager.py index 39c3faddf..b9f301ba1 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -230,7 +230,7 @@ class ComputeVirtAPI(virtapi.VirtAPI): class ComputeManager(manager.SchedulerDependentManager): """Manages the running instances from creation to destruction.""" - RPC_API_VERSION = '2.11' + RPC_API_VERSION = '2.12' def __init__(self, compute_driver=None, *args, **kwargs): """Load configuration options and connect to the hypervisor.""" @@ -1532,16 +1532,17 @@ class ComputeManager(manager.SchedulerDependentManager): @exception.wrap_exception(notifier=notifier, publisher_id=publisher_id()) @reverts_task_state @wrap_instance_fault - def revert_resize(self, context, instance, migration_id, - reservations=None): + def revert_resize(self, context, instance, migration=None, + migration_id=None, reservations=None): """Destroys the new instance on the destination machine. Reverts the model changes, and powers on the old instance on the source machine. """ - migration_ref = self.db.migration_get(context.elevated(), - migration_id) + if not migration: + migration = self.db.migration_get(context.elevated(), + migration_id) # NOTE(comstud): A revert_resize is essentially a resize back to # the old size, so we need to send a usage event here. @@ -1555,7 +1556,7 @@ class ComputeManager(manager.SchedulerDependentManager): teardown=True) self.network_api.migrate_instance_start(context, instance, - migration_ref) + migration) network_info = self._get_instance_nw_info(context, instance) block_device_info = self._get_instance_volume_block_device_info( @@ -1567,7 +1568,7 @@ class ComputeManager(manager.SchedulerDependentManager): self._terminate_volume_connections(context, instance) self.compute_rpcapi.finish_revert_resize(context, instance, - migration_ref['id'], migration_ref['source_compute'], + migration['id'], migration['source_compute'], reservations) @exception.wrap_exception(notifier=notifier, publisher_id=publisher_id()) diff --git a/nova/compute/rpcapi.py b/nova/compute/rpcapi.py index e42e025dc..6785ab23f 100644 --- a/nova/compute/rpcapi.py +++ b/nova/compute/rpcapi.py @@ -139,6 +139,7 @@ class ComputeAPI(nova.openstack.common.rpc.proxy.RpcProxy): 2.9 - Add publish_service_capabilities() 2.10 - Adds filter_properties and request_spec to prep_resize() 2.11 - Adds soft_delete_instance() and restore_instance() + 2.12 - Remove migration_id, add migration to revert_resize ''' # @@ -441,13 +442,15 @@ class ComputeAPI(nova.openstack.common.rpc.proxy.RpcProxy): instance=instance_p), topic=_compute_topic(self.topic, ctxt, None, instance)) - def revert_resize(self, ctxt, instance, migration_id, host, + def revert_resize(self, ctxt, instance, migration, host, reservations=None): instance_p = jsonutils.to_primitive(instance) + migration_p = jsonutils.to_primitive(migration) self.cast(ctxt, self.make_msg('revert_resize', - instance=instance_p, migration_id=migration_id, + instance=instance_p, migration=migration_p, reservations=reservations), - topic=_compute_topic(self.topic, ctxt, host, instance)) + topic=_compute_topic(self.topic, ctxt, host, instance), + version='2.12') def rollback_live_migration_at_destination(self, ctxt, instance, host): instance_p = jsonutils.to_primitive(instance) diff --git a/nova/tests/compute/test_rpcapi.py b/nova/tests/compute/test_rpcapi.py index f94cca857..14b416a5b 100644 --- a/nova/tests/compute/test_rpcapi.py +++ b/nova/tests/compute/test_rpcapi.py @@ -293,8 +293,8 @@ class ComputeRpcAPITestCase(test.TestCase): def test_revert_resize(self): self._test_compute_api('revert_resize', 'cast', - instance=self.fake_instance, migration_id='id', host='host', - reservations=list('fake_res')) + instance=self.fake_instance, migration={'id': 'fake_id'}, + host='host', reservations=list('fake_res'), version='2.12') def test_rollback_live_migration_at_destination(self): self._test_compute_api('rollback_live_migration_at_destination', |
