You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ml...@apache.org on 2014/03/27 23:46:07 UTC

git commit: updated refs/heads/4.4 to eacc1d7

Repository: cloudstack
Updated Branches:
  refs/heads/4.4 bdc4ffc01 -> eacc1d7ff


CLOUDSTACK-6292: Fix live migration of KVM when vnc ip address
changes

Submitted-by: Yoshikazu Nojima


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/eacc1d7f
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/eacc1d7f
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/eacc1d7f

Branch: refs/heads/4.4
Commit: eacc1d7fff6812e0e4c70c290e295327b920e14b
Parents: bdc4ffc
Author: Marcus Sorensen <ma...@betterservers.com>
Authored: Thu Mar 27 16:45:42 2014 -0600
Committer: Marcus Sorensen <ma...@betterservers.com>
Committed: Thu Mar 27 16:47:00 2014 -0600

----------------------------------------------------------------------
 .../hypervisor/kvm/resource/LibvirtComputingResource.java | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eacc1d7f/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 14b7f2f..33d158b 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
@@ -3078,7 +3078,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
             //run migration in thread so we can monitor it
             s_logger.info("Live migration of instance " + vmName + " initiated");
             ExecutorService executor = Executors.newFixedThreadPool(1);
-            Callable<Domain> worker = new MigrateKVMAsync(dm, dconn, vmName, cmd.getDestinationIp());
+            Callable<Domain> worker = new MigrateKVMAsync(dm, dconn, xmlDesc, vmName, cmd.getDestinationIp());
             Future<Domain> migrateThread = executor.submit(worker);
             executor.shutdown();
             long sleeptime = 0;
@@ -3173,12 +3173,14 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
     private class MigrateKVMAsync implements Callable<Domain> {
         Domain dm = null;
         Connect dconn = null;
+        String dxml = "";
         String vmName = "";
         String destIp = "";
 
-        MigrateKVMAsync(Domain dm, Connect dconn, String vmName, String destIp) {
+        MigrateKVMAsync(Domain dm, Connect dconn, String dxml, String vmName, String destIp) {
             this.dm = dm;
             this.dconn = dconn;
+            this.dxml = dxml;
             this.vmName = vmName;
             this.destIp = destIp;
         }
@@ -3187,9 +3189,9 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
         public Domain call() throws LibvirtException {
             // set compression flag for migration if libvirt version supports it
             if (dconn.getLibVirVersion() < 1003000) {
-                return dm.migrate(dconn, (1 << 0), vmName, "tcp:" + destIp, _migrateSpeed);
+                return dm.migrate(dconn, (1 << 0), dxml, vmName, "tcp:" + destIp, _migrateSpeed);
             } else {
-                return dm.migrate(dconn, (1 << 0)|(1 << 11), vmName, "tcp:" + destIp, _migrateSpeed);
+                return dm.migrate(dconn, (1 << 0)|(1 << 11), dxml, vmName, "tcp:" + destIp, _migrateSpeed);
             }
         }
     }