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(a)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(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list