Improve provider_location cleanup code for RBD.

The RBD driver does not make use of the 'provider_location' field
but the current cleanup code assumes it does.  Ensure the field
is in use before testing whether or not it needs fixing.

Fixes bug 1083818.

Change-Id: Id6ff85101f85e70575ba244c2df7aca0196cf224
This commit is contained in:
Adam Gandelman
2012-11-27 17:51:26 -08:00
parent d81113f55e
commit d030c5b10e

View File

@@ -374,7 +374,8 @@ class VolumeManager(manager.SchedulerDependentManager):
# Check for https://bugs.launchpad.net/cinder/+bug/1065702
volume_ref = self.db.volume_get(context, volume_id)
if volume_ref['name'] not in volume_ref['provider_location']:
if (volume_ref['provider_location'] and
volume_ref['name'] not in volume_ref['provider_location']):
self.driver.ensure_export(context, volume_ref)
def _copy_image_to_volume(self, context, volume, image_id):