From 8e53215d5a73d88cceab0040b27529e4f547e74d Mon Sep 17 00:00:00 2001 From: Jim Fehlig Date: Tue, 12 Jan 2010 11:18:34 -0700 Subject: [PATCH] Fix migration in xend driver Upstream xen has changed parameters to the migration operation several times over the past 18 months. Changeset 17553 removed the resouce parameter, Changesets 17709, 17753, and 20326 added ssl, node, and change_home_server parameters respectively. Fortunately, testing has revealed that xend will fail the operation if a parameter is missing but happily honor it if unknown parameters are provided. Thus all currently supported parameters can be provided, satisfying current xend but not regressing older versions. --- src/xen/xend_internal.c | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-) Index: libvirt-0.7.5/src/xen/xend_internal.c =================================================================== --- libvirt-0.7.5.orig/src/xen/xend_internal.c +++ libvirt-0.7.5/src/xen/xend_internal.c @@ -4552,15 +4552,21 @@ xenDaemonDomainMigratePerform (virDomain DEBUG("hostname = %s, port = %s", hostname, port); - /* Make the call. */ + /* Make the call. + * NB: xend will fail the operation if any parameters are + * missing but happily accept unknown parameters. This works + * to our advantage since all parameters supported and required + * by current xend can be included without breaking older xend. + */ ret = xend_op (domain->conn, domain->name, "op", "migrate", "destination", hostname, "live", live, "port", port, - "node", "-1", - "ssl", "0", - "resource", "0", /* required, xend ignores it */ + "node", "-1", /* xen-unstable c/s 17753 */ + "ssl", "0", /* xen-unstable c/s 17709 */ + "change_home_server", "0", /* xen-unstable c/s 20326 */ + "resource", "0", /* removed by xen-unstable c/s 17553 */ NULL); VIR_FREE (hostname);