]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Fixes cinder error state volume delete on Windows
authorLucian Petrut <lpetrut@cloudbasesolutions.com>
Tue, 8 Apr 2014 16:35:10 +0000 (19:35 +0300)
committerThomas Goirand <thomas@goirand.fr>
Mon, 9 Jun 2014 14:08:50 +0000 (22:08 +0800)
If the volume creation fails and the iSCSI disk is not created,
trying to delete the error state volume will fail on Windows.

Deleting the iSCSI disk must be skipped when it does not exist.

Change-Id: I2cd615e71fe457c241bea207c4bd8904c1ffd9cb
Closes-Bug: #1304516
(cherry picked from commit 131777688562b1ec020327067d89da1535b99640)

cinder/volume/drivers/windows/windows_utils.py

index 3af2021c3c3c593e07925e675aa835a477b33df4..e52d939792e65fc8ca25d8f365e466efd363dee7 100644 (file)
@@ -148,7 +148,12 @@ class WindowsUtils(object):
     def delete_volume(self, vol_name, vhd_path):
         """Driver entry point for destroying existing volumes."""
         try:
-            wt_disk = self._conn_wmi.WT_Disk(Description=vol_name)[0]
+            disk = self._conn_wmi.WT_Disk(Description=vol_name)
+            if not disk:
+                LOG.debug(_('Skipping deleting disk %s as it does not '
+                            'exist.') % vol_name)
+                return
+            wt_disk = disk[0]
             wt_disk.Delete_()
             vhdfiles = self._conn_cimv2.query(
                 "Select * from CIM_DataFile where Name = '" +