migration rollback: driver_detach called with wrong number of args
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
High
|
Matt Riedemann |
Bug Description
I hit an extra exception during a failed live migration rollback. This exception occurred on the destination node. This bug is not about the reason for the failed migration, but for the failure in the rollback.
The exception:
Traceback (most recent call last):
File "/usr/local/
res = self.dispatcher
File "/usr/local/
return self._do_
File "/usr/local/
result = func(ctxt, **new_args)
File "/opt/stack/
function_name, call_dict, binary)
File "/usr/local/
self.
File "/usr/local/
six.
File "/opt/stack/
return f(self, context, *args, **kw)
File "/opt/stack/
driver_
TypeError: driver_detach() takes exactly 5 arguments (6 given)
In compute manager.
This is driver_detach in block_device.
def driver_detach(self, context, instance, volume_api, virt_driver):
The connector seems to be the culprit.
ubuntu xenial/
commit c2c6960e374351b
Merge: 8d9eb67 95c190c
Author: Jenkins <email address hidden>
Date: Mon May 15 17:45:36 2017 +0000
Merge "Make discover_hosts only query for unmapped ComputeNode records"
Changed in nova: | |
assignee: | nobody → Matt Riedemann (mriedem) |
Changed in nova: | |
status: | In Progress → Confirmed |
Changed in nova: | |
status: | Confirmed → In Progress |
This is the call from the compute manager:
https:/ /github. com/openstack/ nova/blob/ c2c6960e374351b 3ce1b43a564b57e 14b54c4877/ nova/compute/ manager. py#L5087
This is the driver_detach method in the DriverVolumeBlo ckDevice:
https:/ /github. com/openstack/ nova/blob/ c2c6960e374351b 3ce1b43a564b57e 14b54c4877/ nova/virt/ block_device. py#L264
Those args are indeed wrong and connector is missing. This is due to this refactor:
https:/ /review. openstack. org/#/c/ 439520/