[openstack-dev] [cinder] Fixing stuck volumes - part II

D'Angelo, Scott scott.dangelo at hp.com
Wed Feb 11 23:45:31 UTC 2015


At the cinder mid-cycle it was decided that the best way to fix volumes stuck in 'attaching' or 'detaching' was NOT to fix the broken reset-state command. The doc string and help message for reset-state have been modified to warn the user that the tool only affects Cinder DB and can cause problems. But, ultimately, a separate command to 'force-detach' would be better. I've abandoned the original BP/spec for reset-state involving the driver.

I have looked at the existing function 'force-detach' in Cinder and it seems to work...except that Nova must be involved. Nova uses the BlockDeviceMapping table to keep track of attached volumes and, if Nova is not involved, a force-detach'ed volume will not be capable of being re-attached.
So, my plan is to submit a blueprint + spec for Novaclient to add a 'force-detach' command. This is technically fairly simple and only involves stripping away the checks for proper state in Nova, and calling Cinder force-detach. I don't plan on asking for an exception to feature freeze, unless there is optimism from the community that this could possible get in for L.
The existing Cinder force-detach calls terminate_connection() and detach_volume().  I assume detach_volume() is covered by the "Volume Detach" minimum feature? I see many drivers have terminate_connection(), but not all. I believe this will not be a minimum feature, but others may disagree.

thanks,
scottda
scott.dangelo at hp.com


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150211/4c8a76d8/attachment.html>


More information about the OpenStack-dev mailing list