Implements unmanage interface for VNX cinder driver

Bug #1429702 reported by Peter Wang
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
Undecided
Peter Wang

Bug Description

In current release(Kilo), when unmanage a volume, driver would return "Unmanage volume not implemented"

below is the error log:
4b849d79c505ac79c09e - - -] Lock "df088958-425c-42b1-9ddb-7b4b100779b7-delete_volume" released by "lvo_inner2" :: held 0.109s inner /usr/local/lib/pyth
on2.7/dist-packages/oslo_concurrency/lockutils.py:442
2015-03-08 12:29:33.320 135504 ERROR oslo_messaging.rpc.dispatcher [req-858afb2b-d3d5-4bce-b9c2-36532c6419a8 4defb9ac5b694226852422f59518cae5 86957cc0d
e774b849d79c505ac79c09e - - -] Exception during message handling: Unmanage volume not implemented.
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher Traceback (most recent call last):
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", li
ne 142, in _dispatch_and_reply
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher executor_callback))
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", li
ne 186, in _dispatch
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher executor_callback)
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", li
ne 130, in _do_dispatch
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher result = func(ctxt, **new_args)
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/osprofiler/profiler.py", line 105, in
 wrapper
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher return f(*args, **kwargs)
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/osprofiler/profiler.py", line 105, in
 wrapper
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher return f(*args, **kwargs)
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/osprofiler/profiler.py", line 105, in
 wrapper
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher return f(*args, **kwargs)
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/osprofiler/profiler.py", line 105, in
 wrapper
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher return f(*args, **kwargs)
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/osprofiler/profiler.py", line 105, in
 wrapper
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher return f(*args, **kwargs)
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher File "/opt/stack/cinder/cinder/volume/manager.py", line 134, in lvo_inner1
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher return lvo_inner2(inst, context, volume_id, **kwargs)
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py", line
431, in inner
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher return f(*args, **kwargs)
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher File "/opt/stack/cinder/cinder/volume/manager.py", line 133, in lvo_inner2
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher return f(*_args, **_kwargs)
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher File "/opt/stack/cinder/cinder/volume/manager.py", line 509, in delete_volume
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher {'status': 'error_deleting'})
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 82, in
__exit__
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher six.reraise(self.type_, self.value, self.tb)
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher File "/opt/stack/cinder/cinder/volume/manager.py", line 496, in delete_volume
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher self.driver.unmanage(volume_ref)
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/osprofiler/profiler.py", line 105, in
 wrapper
2015-03-08 12:29:33.320 135504 TRACE oslo_messaging.rpc.dispatcher return f(*args, **kwargs)

Tags: drivers emc vnx
Peter Wang (peter.wang)
Changed in cinder:
assignee: nobody → Peter Wang (peter.wang)
description: updated
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/162532

Changed in cinder:
status: New → In Progress
Revision history for this message
Duncan Thomas (duncan-thomas) wrote :

This bug does not seem accurate. When deleting a managed volume, driver.delete_volume(...) is called. When unmanaging a volume (a different API call to delete) then driver.unmanage() is called.

If you can find a code path where unmanage is called for a delete operation then we have a serious bug which should be fixed globally.

Changed in cinder:
status: In Progress → Incomplete
Changed in cinder:
status: Incomplete → In Progress
Revision history for this message
Peter Wang (peter.wang) wrote :

Hi Duncan, the bug description updated accordingly.

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

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

commit 1a3048ef0d26b15252deb5dba02994ddd1b65a42
Author: peter_wang <email address hidden>
Date: Sun Mar 8 20:38:25 2015 -0400

    Fixes VNX NotImplementedError of unmanage

    When unmanaging a volume, cinder would call unmanage.
    This fix is to add unmanage to avoid NotImplementedError.

    Change-Id: I11539cc945d432e23bebf085cacb0023b9a6a1e3
    Closes-Bug: 1429702

Changed in cinder:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in cinder:
milestone: none → kilo-3
status: Fix Committed → Fix Released
Peter Wang (peter.wang)
tags: added: drivers emc vnx
Thierry Carrez (ttx)
Changed in cinder:
milestone: kilo-3 → 2015.1.0
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.