[libvirt] tunnelled migration with libvirt 0.9.0

Wen Congyang wency at cn.fujitsu.com
Wed Apr 20 10:23:40 UTC 2011


At 04/20/2011 05:41 PM, Jason Krieg Write:
> Hi,
> 
> is tunnelled migration with libvirt 0.9.0 and qemu-kvm 0.14.0 broken ?
> 
> all I get is an error "unknown migration protocol"
> 
> while looking at the code in src/qemu/qemu_migration.c
> 
> src/qemu/qemu_migration.c:
> 
>     /* Start the QEMU daemon, with the same command-line arguments plus
>      * -incoming stdin (which qemu_command might convert to exec:cat or
> fd:n)
>      */
>     internalret = qemuProcessStart(dconn, driver, vm, "stdin", true,
> dataFD[1],
>                                    NULL, VIR_VM_OP_MIGRATE_IN_START);
> 
> 
> 
> migrateFrom is set to "stdin" but in src/qemu/qemu_command.c
> there is no such match which ends in the above error.

Yes, the tunnelled migration has been broken.

Please applied the following patch and try it again:

>From 55dac9d193644b7957ea730b8739633cd185d494 Mon Sep 17 00:00:00 2001
From: Wen Congyang <wency at cn.fujitsu.com>
Date: Wed, 20 Apr 2011 18:20:12 +0800
Subject: [PATCH] fix tunnelled migration's regression

If the migrateFrom is "stdio" not "stdin", qemuBuildCommandLine()
will convert it to exec:cat or fd:n.

---
 src/qemu/qemu_migration.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index 43741e1..bba76d5 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -316,9 +316,9 @@ qemuMigrationPrepareTunnel(struct qemud_driver *driver,
         goto endjob;
     }
     /* Start the QEMU daemon, with the same command-line arguments plus
-     * -incoming stdin (which qemu_command might convert to exec:cat or fd:n)
+     * -incoming stdio (which qemu_command might convert to exec:cat or fd:n)
      */
-    internalret = qemuProcessStart(dconn, driver, vm, "stdin", true, dataFD[1],
+    internalret = qemuProcessStart(dconn, driver, vm, "stdio", true, dataFD[1],
                                    NULL, VIR_VM_OP_MIGRATE_IN_START);
     if (internalret < 0) {
         qemuAuditDomainStart(vm, "migrated", false);
-- 
1.7.1


> 
> Regards,
> Jason
> 
> 
> -- 
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
> 




More information about the libvir-list mailing list