Summary: KVM - double migration can fail Detail: Undefine VM after migration. Lingering domain definitions cause migrations back to the original host to fail, since domain already exists.
BUG-ID: CLOUDSTACK-2640 Bugfix-for: 4.1.0,4.2.0 Signed-off-by: Marcus Sorensen <mar...@betterservers.com> 1369285950 -0600 Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/795fd803 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/795fd803 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/795fd803 Branch: refs/heads/rbd-snap-clone Commit: 795fd803da3eadee0fae1a13d0e97ae57b239657 Parents: 4786420 Author: Marcus Sorensen <mar...@betterservers.com> Authored: Wed May 22 23:12:30 2013 -0600 Committer: Marcus Sorensen <mar...@betterservers.com> Committed: Wed May 22 23:12:30 2013 -0600 ---------------------------------------------------------------------- .../kvm/resource/LibvirtComputingResource.java | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/795fd803/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 b31fb5d..0903855 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 @@ -2728,6 +2728,9 @@ ServerResource { } finally { try { if (dm != null) { + if (dm.isPersistent() == 1) { + dm.undefine(); + } dm.free(); } if (dconn != null) {