From 2057221f4f1fd5afde422b367fc416d4e44275cb Mon Sep 17 00:00:00 2001 From: Marcus Sorensen Date: Tue, 16 Apr 2013 22:18:38 -0600 Subject: [PATCH] CLOUDSTACK-2051 - The previous patch ensures that holes in deleting storage pools the proper way won't cause problems for KVM HA Monitor, this patch closes holes. Call the KVMStoragePool deleteStoragePool that properly removes it from the KVMHA hashmap, instead of the pools direct delete() call. Signed-off-by: Marcus Sorensen 1366172318 -0600 --- .../resource/LibvirtComputingResource.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java index 362e0a53e53..3de7a485fa5 100755 --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java @@ -1270,7 +1270,7 @@ ServerResource { secondaryStoragePool = _storagePoolMgr.getStoragePoolByURI( secondaryStorageUrl); secondaryStoragePool.createFolder(volumeDestPath); - secondaryStoragePool.delete(); + _storagePoolMgr.deleteStoragePool(secondaryStoragePool.getType(),secondaryStoragePool.getUuid()); secondaryStoragePool = _storagePoolMgr.getStoragePoolByURI( secondaryStorageUrl + volumeDestPath); @@ -1292,7 +1292,7 @@ ServerResource { return new CopyVolumeAnswer(cmd, false, e.toString(), null, null); } finally { if (secondaryStoragePool != null) { - secondaryStoragePool.delete(); + _storagePoolMgr.deleteStoragePool(secondaryStoragePool.getType(),secondaryStoragePool.getUuid()); } } } @@ -1415,7 +1415,7 @@ ServerResource { return null; } finally { if (secondaryPool != null) { - secondaryPool.delete(); + _storagePoolMgr.deleteStoragePool(secondaryPool.getType(),secondaryPool.getUuid()); } } } @@ -2008,7 +2008,7 @@ ServerResource { true); } finally { if (secondaryStoragePool != null) { - secondaryStoragePool.delete(); + _storagePoolMgr.deleteStoragePool(secondaryStoragePool.getType(),secondaryStoragePool.getUuid()); } } return new BackupSnapshotAnswer(cmd, true, null, snapshotRelPath @@ -2040,7 +2040,7 @@ ServerResource { return new DeleteSnapshotBackupAnswer(cmd, false, e.toString()); } finally { if (secondaryStoragePool != null) { - secondaryStoragePool.delete(); + _storagePoolMgr.deleteStoragePool(secondaryStoragePool.getType(),secondaryStoragePool.getUuid()); } } return new DeleteSnapshotBackupAnswer(cmd, true, null); @@ -2069,7 +2069,7 @@ ServerResource { return new Answer(cmd, false, e.toString()); } finally { if (secondaryStoragePool != null) { - secondaryStoragePool.delete(); + _storagePoolMgr.deleteStoragePool(secondaryStoragePool.getType(),secondaryStoragePool.getUuid()); } } @@ -2167,10 +2167,10 @@ ServerResource { return new CreatePrivateTemplateAnswer(cmd, false, e.getMessage()); } finally { if (secondaryPool != null) { - secondaryPool.delete(); + _storagePoolMgr.deleteStoragePool(secondaryPool.getType(), secondaryPool.getUuid()); } if (snapshotPool != null) { - snapshotPool.delete(); + _storagePoolMgr.deleteStoragePool(snapshotPool.getType(), snapshotPool.getUuid()); } } } @@ -2304,7 +2304,7 @@ ServerResource { return new CreatePrivateTemplateAnswer(cmd, false, e.toString()); } finally { if (secondaryStorage != null) { - secondaryStorage.delete(); + _storagePoolMgr.deleteStoragePool(secondaryStorage.getType(), secondaryStorage.getUuid()); } } } @@ -2362,7 +2362,7 @@ ServerResource { return new PrimaryStorageDownloadAnswer(e.toString()); } finally { if (secondaryPool != null) { - secondaryPool.delete(); + _storagePoolMgr.deleteStoragePool(secondaryPool.getType(),secondaryPool.getUuid()); } } } @@ -3454,7 +3454,7 @@ ServerResource { KVMStoragePool pool = _storagePoolMgr.getStoragePool( StoragePoolType.Filesystem, poolUuid); if (pool != null) { - pool.delete(); + _storagePoolMgr.deleteStoragePool(pool.getType(),pool.getUuid()); } return true; } catch (CloudRuntimeException e) {