TypeError: connect_volume() takes exactly 3 arguments (4 given) for NFS Cinder drivers

Bug #1675584 reported by Apoorva Deshpande
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
High
Matt Riedemann

Bug Description

NFS driver Cinder CI jobs failed on following error

2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server [req-70f771a4-6cd2-497d-8428-45ed14caa416 tempest-VolumesAdminNegativeTest-1024673784 tempest-VolumesAdminNegativeTest-1024673784] Exception during message handling
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server Traceback (most recent call last):
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/server.py", line 157, in _process_incoming
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server res = self.dispatcher.dispatch(message)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", line 213, in dispatch
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server return self._do_dispatch(endpoint, method, ctxt, args)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", line 183, in _do_dispatch
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server result = func(ctxt, **new_args)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/opt/stack/nova/nova/exception_wrapper.py", line 75, in wrapped
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server function_name, call_dict, binary)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server self.force_reraise()
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server six.reraise(self.type_, self.value, self.tb)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/opt/stack/nova/nova/exception_wrapper.py", line 66, in wrapped
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server return f(self, context, *args, **kw)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/opt/stack/nova/nova/compute/manager.py", line 215, in decorated_function
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server kwargs['instance'], e, sys.exc_info())
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server self.force_reraise()
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server six.reraise(self.type_, self.value, self.tb)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/opt/stack/nova/nova/compute/manager.py", line 203, in decorated_function
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server return function(self, context, *args, **kwargs)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/opt/stack/nova/nova/compute/manager.py", line 4805, in attach_volume
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server do_attach_volume(context, instance, driver_bdm)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py", line 271, in inner
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server return f(*args, **kwargs)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/opt/stack/nova/nova/compute/manager.py", line 4803, in do_attach_volume
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server bdm.destroy()
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server self.force_reraise()
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server six.reraise(self.type_, self.value, self.tb)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/opt/stack/nova/nova/compute/manager.py", line 4800, in do_attach_volume
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server return self._attach_volume(context, instance, driver_bdm)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/opt/stack/nova/nova/compute/manager.py", line 4823, in _attach_volume
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server self.volume_api.unreserve_volume(context, bdm.volume_id)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server self.force_reraise()
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server six.reraise(self.type_, self.value, self.tb)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/opt/stack/nova/nova/compute/manager.py", line 4815, in _attach_volume
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server do_driver_attach=True)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/opt/stack/nova/nova/virt/block_device.py", line 48, in wrapped
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server ret_val = method(obj, context, *args, **kwargs)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/opt/stack/nova/nova/virt/block_device.py", line 282, in attach
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server connector)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server self.force_reraise()
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server six.reraise(self.type_, self.value, self.tb)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/opt/stack/nova/nova/virt/block_device.py", line 273, in attach
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server device_type=self['device_type'], encryption=encryption)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 1204, in attach_volume
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server self._connect_volume(connection_info, disk_info, instance)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 1145, in _connect_volume
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server vol_driver.connect_volume(connection_info, disk_info, instance)
2017-03-23 11:12:34.533 3875 ERROR oslo_messaging.rpc.server TypeError: connect_volume() takes exactly 3 arguments (4 given)

On IRC I got to know that https://review.openstack.org/#/c/438970/ could be the culprit

Failure CI logs are http://openstack-ci.tintri.com/tintri/refs-changes-59-448159-4/logs/screen-n-cpu.log.txt

Revision history for this message
Apoorva Deshpande (apoorvad) wrote :

One more Cinder CI failed with the same conect_volume() error http://78.46.57.153:8081/refs-changes-59-448159-4/logs/screen-n-cpu.log.txt

Matt Riedemann (mriedem)
Changed in nova:
assignee: nobody → Matt Riedemann (mriedem)
importance: Undecided → High
status: New → Confirmed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/449362

Changed in nova:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/449362
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=de7c0594d19666bf20755dd0b8a040eb6a1217c0
Submitter: Jenkins
Branch: master

commit de7c0594d19666bf20755dd0b8a040eb6a1217c0
Author: Matt Riedemann <email address hidden>
Date: Thu Mar 23 23:33:45 2017 +0000

    Revert "libvirt: Pass instance to connect_volume and ..."

    This reverts commit f0153fa4c87528e1dcbda8cba55d34ab7aec4e7a.

    This broke a whole set of FS-based volume drivers since it
    didn't change the method signatures in those drivers to take
    the new instance argument.

    I was working on adding them but then just decided this
    isn't even used right now so it's faster to revert.

    When this is added back in, I want to see the
    LibvirtBaseVolumeDriver class turned into an ABC and
    the connect_volume and disconnect_volume methods turned
    into abstractmethods in LibvirtBaseVolumeDriver so this
    kind of thing does not happen again.

    Change-Id: If1ee6d6e4004750f80424ec54d7dabc564ec9e06
    Closes-Bug: #1675584

Changed in nova:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/nova 16.0.0.0b1

This issue was fixed in the openstack/nova 16.0.0.0b1 development milestone.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.