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 <mar...@betterservers.com> 1366172318 -0600 Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/2057221f Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/2057221f Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/2057221f Branch: refs/heads/internallb Commit: 2057221f4f1fd5afde422b367fc416d4e44275cb Parents: f0d6776 Author: Marcus Sorensen <mar...@betterservers.com> Authored: Tue Apr 16 22:18:38 2013 -0600 Committer: Marcus Sorensen <mar...@betterservers.com> Committed: Tue Apr 16 22:18:38 2013 -0600 ---------------------------------------------------------------------- .../kvm/resource/LibvirtComputingResource.java | 22 +++++++------- 1 files changed, 11 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2057221f/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java ---------------------------------------------------------------------- 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 362e0a5..3de7a48 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) {