Implement force_detach to allow safe cleanup of stuck volumes

Registered by Scott DAngelo

For volumes stuck in 'attaching' or 'detaching' , there is no safe way to cleanup that involves the backend storage. Using python-cinderclient 'reset-state' will only change the Cinder database, and may leave the volume exported to the compute host, and may leave an entry in Nova's database that prevents the volume from being re-used. This blueprint+spec outlines the changes to the cinder side to allow a force_detach. In addtion, python-novaclient will need to have a '--force' option added to 'nova volume-detach' so that Nova BlockDeviceMapping table is cleaned up after calling cinder force_detach().

Blueprint information

Status:
Complete
Approver:
Mike Perez
Priority:
Medium
Drafter:
Scott DAngelo
Direction:
Approved
Assignee:
Scott DAngelo
Definition:
Superseded
Series goal:
Proposed for liberty
Implementation:
Started
Milestone target:
milestone icon next
Started by
Scott DAngelo
Completed by
Sean McGinnis

Related branches

Sprints

Whiteboard

Hi Scott,
I'm very pleasure to hear about that, and the Nova spec has been restored for L.
Thanks for your effort to this feature.:)

Hi Wanghao,
I've spoken with Nova folk at the Vancouver Summit. They are in favor of this change, which requires a Nova spec. I'd like to un-abandon your spec from Juno and add some use cases, etc.
Let's get together and sync up on this sometime (perhaps after the Summit is over).
Scott

hi Scott,
This feature looks like very similar with this bp:https://blueprints.launchpad.net/nova/+spec/add-force-detach-to-nova, which was commited in Juno. But, nova folks think it is not appropriate to add force_detach in nova(https://review.openstack.org/#/c/84048/ you can hava a look about the reviews of spec).

So I wonder to know is the implement of this bp in Nova side? If so, maybe we need to discuss this with nova folks too.

This fix does not need any changes in Cinder other than:
https://bugs.launchpad.net/cinder/+bug/1485766

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.