← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1538619] [NEW] Fix up argument order in remove_volume_connection()

 

Public bug reported:

The RPC API function for remove_volume_connection() uses a different argument order than the ComputeManager function of the same name.
    
The normal RPC code uses named arguments, but the _ComputeV4Proxy version doesn't, and it has the order wrong.  This causes problems when called by _rollback_live_migration().

The fix seems to be trivial:
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index d6efd18..65c1b75 100644
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -6870,7 +6870,8 @@ class _ComputeV4Proxy(object):
                                                           instance)
 
     def remove_volume_connection(self, ctxt, instance, volume_id):
-        return self.manager.remove_volume_connection(ctxt, instance, volume_id)
+        # The RPC API uses different argument order than the local API.
+        return self.manager.remove_volume_connection(ctxt, volume_id, instance)
 
     def rescue_instance(self, ctxt, instance, rescue_password,
                         rescue_image_ref, clean_shutdown):

Given that this only applies to stable/kilo I'm guessing there's no
point in trying to push a patch, but I thought I'd include this here in
case anyone else runs into it.

** Affects: nova
     Importance: Undecided
         Status: New


** Tags: compute

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1538619

Title:
  Fix up argument order in remove_volume_connection()

Status in OpenStack Compute (nova):
  New

Bug description:
  The RPC API function for remove_volume_connection() uses a different argument order than the ComputeManager function of the same name.
      
  The normal RPC code uses named arguments, but the _ComputeV4Proxy version doesn't, and it has the order wrong.  This causes problems when called by _rollback_live_migration().

  The fix seems to be trivial:
  diff --git a/nova/compute/manager.py b/nova/compute/manager.py
  index d6efd18..65c1b75 100644
  --- a/nova/compute/manager.py
  +++ b/nova/compute/manager.py
  @@ -6870,7 +6870,8 @@ class _ComputeV4Proxy(object):
                                                             instance)
   
       def remove_volume_connection(self, ctxt, instance, volume_id):
  -        return self.manager.remove_volume_connection(ctxt, instance, volume_id)
  +        # The RPC API uses different argument order than the local API.
  +        return self.manager.remove_volume_connection(ctxt, volume_id, instance)
   
       def rescue_instance(self, ctxt, instance, rescue_password,
                           rescue_image_ref, clean_shutdown):

  Given that this only applies to stable/kilo I'm guessing there's no
  point in trying to push a patch, but I thought I'd include this here
  in case anyone else runs into it.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1538619/+subscriptions


Follow ups