Manage existing volume fails with MissingDependencies

Bug #1617442 reported by Chuck Fouts
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
Critical
Chuck Fouts

Bug Description

Manage existing volume is failing in NetApp's internal CI tests with a Missing Dependencies error. Ran git bisect and it appears the the error was introduced with commit f5634ea3c12e037959d5561f4363c8ede7724de6 "Use original volume OVO instance in create flow".

Was able to get the test to pass by patching code in the cinder.volume.flows.manager.manage_existing#get_flow method. Will submit an upstream patch shortly.

Traceback:

2016-08-26 15:51:42.459 ERROR oslo_messaging.rpc.server [req-0cf48c93-60ed-446b-afde-96ba8fdb0150 tempest-NetAppCDOTManageUnmanageTest-655507530] Exception during message handling
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server Traceback (most recent call last):
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/server.py", line 133, in _process_incoming
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server res = self.dispatcher.dispatch(message)
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", line 150, in dispatch
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server return self._do_dispatch(endpoint, method, ctxt, args)
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", line 121, in _do_dispatch
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server result = func(ctxt, **new_args)
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server File "/opt/stack/cinder/cinder/volume/manager.py", line 2285, in manage_existing
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server ctxt, volume, ref)
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server File "/opt/stack/cinder/cinder/volume/manager.py", line 2328, in _run_manage_existing_flow_engine
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server flow_engine.run()
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/taskflow/engines/action_engine/engine.py", line 247, in run
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server for _state in self.run_iter(timeout=timeout):
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/taskflow/engines/action_engine/engine.py", line 273, in run_iter
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server self.validate()
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/fasteners/lock.py", line 306, in wrapper
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server return f(self, *args, **kwargs)
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/taskflow/engines/action_engine/engine.py", line 80, in wrapper
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server return meth(self, *args, **kwargs)
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/taskflow/engines/action_engine/engine.py", line 432, in validate
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server cause=last_cause)
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server MissingDependencies: 'linear_flow.Flow: volume_manage_existing_manager(len=6)' requires ['volume'] but no other entity produces said requirements
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server MissingDependencies: 'execute' method on 'cinder.volume.flows.manager.create_volume.NotifyVolumeActionTask;volume:create, manage_existing.start==1.0' requires ['volume'] but no other entity produces said requirements
2016-08-26 15:51:42.459 16004 ERROR oslo_messaging.rpc.server

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (master)

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

Changed in cinder:
assignee: nobody → Chuck Fouts (fchuck)
status: New → In Progress
Revision history for this message
Xing Yang (xing-yang) wrote :

Tested with code from the master. Reproduced the same error when trying to manage volume.

Changed in cinder:
importance: Undecided → High
milestone: none → newton-3
Changed in cinder:
importance: High → Critical
Changed in cinder:
assignee: Chuck Fouts (fchuck) → wanghao (wanghao749)
Changed in cinder:
assignee: wanghao (wanghao749) → Chuck Fouts (fchuck)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

Reviewed: https://review.openstack.org/361454
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=b9371615d3c8461d43c16311dfc6d51e199ab094
Submitter: Jenkins
Branch: master

commit b9371615d3c8461d43c16311dfc6d51e199ab094
Author: Chuck Fouts <email address hidden>
Date: Fri Aug 26 16:12:52 2016 -0400

    Fix manage existing MissingDependencies error

    When attempting to manage an existing volume a MissingDependencies error
    is logged to c-vol.log. Some of the tasks defined in
    ManageExistingTask#get_flow now require a 'volume' parameter not
    the 'volume_ref' parameter.

    To fix this issue, convert all 'volume_ref' parameter to 'volume'
    parameter in managing existing volume task flow.

    Co-Authored-By: wanghao <email address hidden>

    Change-Id: I2b6ad5d86acba6c3a130275c9c3617ec70ae62e0
    Closes-Bug: 1617442

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

This issue was fixed in the openstack/cinder 9.0.0.0rc1 release candidate.

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

Duplicates of this bug

Other bug subscribers

Remote bug watches

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