From 131777688562b1ec020327067d89da1535b99640 Mon Sep 17 00:00:00 2001 From: Lucian Petrut Date: Tue, 8 Apr 2014 19:35:10 +0300 Subject: [PATCH] Fixes cinder error state volume delete on Windows 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 --- cinder/volume/drivers/windows/windows_utils.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cinder/volume/drivers/windows/windows_utils.py b/cinder/volume/drivers/windows/windows_utils.py index 3af2021c3..e52d93979 100644 --- a/cinder/volume/drivers/windows/windows_utils.py +++ b/cinder/volume/drivers/windows/windows_utils.py @@ -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 = '" + -- 2.45.2