]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Add a resume delete on volume manager startup
authorJohn Griffith <john.griffith@solidfire.com>
Thu, 13 Sep 2012 16:53:52 +0000 (10:53 -0600)
committerJohn Griffith <john.griffith@solidfire.com>
Thu, 13 Sep 2012 16:54:35 +0000 (10:54 -0600)
  Currently if for some reason the volume service was stopped
  during the zero out operation of a volume delete there was
  no way to get the volume removed from the system (it would
  be present in deleting status forever).

  This change adds a simple check of volumes in the DB with status
  of deleting, and if any are found it restarts the delete process
  on them.

  addresses bug #1011150

Change-Id: Id4c4a3bc61f95245ebc6658234b4b88029956562

cinder/volume/manager.py

index beb038c2ec1ac0a2578034b933df6d7e3708471a..d1d1bfe23c5747e5cd5bce3dd9310b6bcce527f7 100644 (file)
@@ -102,6 +102,12 @@ class VolumeManager(manager.SchedulerDependentManager):
             else:
                 LOG.info(_("volume %s: skipping export"), volume['name'])
 
+        LOG.debug(_('Resuming any in progress delete operations'))
+        for volume in volumes:
+            if volume['status'] == 'deleting':
+                LOG.info(_('Resuming delete on volume: %s' % volume['id']))
+                self.delete_volume(ctxt, volume['id'])
+
     def create_volume(self, context, volume_id, snapshot_id=None,
                       image_id=None, reservations=None):
         """Creates and exports the volume."""