On 04/20/2011 12:23 PM, Wen Congyang wrote:
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);
that was my first guess but it does not work the remote monitor socket
does not show up
libvirt is running as root so it should not be a permission problem
qemuMonitorOpenUnix:289 : monitor socket did not show up.: Connection
refused
qemuProcessWaitForMonitor:1059 : internal error process exited while
connecting to monitor: Migration failed. Exit code fd:14(-22), exiting.