From 603e7db9a8091191ed2605c04c5b72593f0b0094 Mon Sep 17 00:00:00 2001 From: gh159m Date: Tue, 16 Feb 2016 14:42:25 -0600 Subject: [PATCH] Fixed arguement order in remove_volume_connection RPC API and ComputeManager both contain a function named remove_volume_connection with the same arguments, but ordered differently. This causes problems when called by _rollback_live_migration. This fix is more for future consistency, as this was affecting the _ComputeV4Proxy class, which is present in stable/kilo but no longer exists. Change-Id: Iacadd5f015888c4181b8a332625ec746f991e239 Closes-Bug: #1538619 --- nova/compute/manager.py | 2 +- nova/compute/rpcapi.py | 2 +- nova/tests/unit/compute/test_compute.py | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/nova/compute/manager.py b/nova/compute/manager.py index 0d5e41355d63..aafad795b407 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -5531,7 +5531,7 @@ class ComputeManager(manager.Manager): for bdm in bdms: if bdm.is_volume: self.compute_rpcapi.remove_volume_connection( - context, instance, bdm.volume_id, dest) + context, bdm.volume_id, instance, dest) self._notify_about_instance_usage(context, instance, "live_migration._rollback.start") diff --git a/nova/compute/rpcapi.py b/nova/compute/rpcapi.py index b2435c3c44bd..c9b33c6b3a52 100644 --- a/nova/compute/rpcapi.py +++ b/nova/compute/rpcapi.py @@ -759,7 +759,7 @@ class ComputeAPI(object): cctxt.cast(ctxt, 'remove_fixed_ip_from_instance', instance=instance, address=address) - def remove_volume_connection(self, ctxt, instance, volume_id, host): + def remove_volume_connection(self, ctxt, volume_id, instance, host): version = '4.0' cctxt = self.client.prepare(server=host, version=version) return cctxt.call(ctxt, 'remove_volume_connection', diff --git a/nova/tests/unit/compute/test_compute.py b/nova/tests/unit/compute/test_compute.py index 19c746d1ce6c..d536a249d906 100644 --- a/nova/tests/unit/compute/test_compute.py +++ b/nova/tests/unit/compute/test_compute.py @@ -5591,9 +5591,9 @@ class ComputeTestCase(BaseTestCase): objects.BlockDeviceMappingList.get_by_instance_uuid(c, instance.uuid).MultipleTimes().AndReturn(fake_bdms) self.compute.compute_rpcapi.remove_volume_connection( - c, instance, uuids.volume_id_1, dest_host) + c, uuids.volume_id_1, instance, dest_host) self.compute.compute_rpcapi.remove_volume_connection( - c, instance, uuids.volume_id_2, dest_host) + c, uuids.volume_id_2, instance, dest_host) self.compute.compute_rpcapi.rollback_live_migration_at_destination( c, instance, dest_host, destroy_disks=True, migrate_data=mox.IsA(migrate_data_obj.LiveMigrateData))