]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Detect and fix issues caused by vol ID migration
authorJohn Griffith <john.griffith@solidfire.com>
Wed, 24 Oct 2012 22:28:02 +0000 (16:28 -0600)
committerJohn Griffith <john.griffith@solidfire.com>
Mon, 29 Oct 2012 22:39:17 +0000 (16:39 -0600)
commit524c7fa6dfade6efcabda19b105d58cab8c434e2
treead19f4954c2d674dbcae639ed686fadba2d9d161
parent826c4520d093f5e0809a08e10b5d18bf69adc698
Detect and fix issues caused by vol ID migration

The migration from volume ID to UUID neglected to update the provider_location
field on the volume.  As a result the iqn and volume name no long match and
existing volumes are no longer able to be attached after an upgrade
(essex -> folsom and then nova-vol->cinder).

This patch adds a method to the volume driver that will check for the
mismatch of volume name in the iqn during service start up.  If
detected it will update the provider_location field in the database
to include the new ID.  Also it will create a symlink to the device backing
file that also has the correct naming convention.

Note: We don't disturb an connections that are currently attached.
For this case we add a check in manager.detach and do any provider_location
cleanup that's needed at that time.  This ensures that connections
persist on restarts of tgtd and reboot.

Change-Id: I8224824b793c98a9767c5d8dd741d892be720c4f
Fixes: bug 1065702
bin/cinder-volume-usage-audit
cinder/volume/driver.py
cinder/volume/iscsi.py
cinder/volume/manager.py
etc/cinder/rootwrap.d/volume.filters