[libvirt] [PATCH] qemu migration: assign addresses in xml passed as parameter

Nikolay Shirokovskiy nshirokovskiy at virtuozzo.com
Tue Feb 9 08:36:32 UTC 2016


Usecase:

1. define domain with xml A where addresses are not set
2. migrate with '--xml A'

You get ABI incompatibility because we comprare xmls with addresses
set and not. This patch assign addresses in parameter xml so
the comprasion is fair.

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy at virtuozzo.com>
---
 src/qemu/qemu_migration.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index 1443d96..7cceaa1 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -2992,6 +2992,7 @@ qemuMigrationBeginPhase(virQEMUDriverPtr driver,
     virDomainDefPtr def = NULL;
     qemuDomainObjPrivatePtr priv = vm->privateData;
     virCapsPtr caps = NULL;
+    virQEMUCapsPtr qemuCaps = NULL;
     unsigned int cookieFlags = QEMU_MIGRATION_COOKIE_LOCKSTATE;
 
     VIR_DEBUG("driver=%p, vm=%p, xmlin=%s, dname=%s,"
@@ -3105,6 +3106,13 @@ qemuMigrationBeginPhase(virQEMUDriverPtr driver,
                                             VIR_DOMAIN_DEF_PARSE_INACTIVE)))
             goto cleanup;
 
+        if (!(qemuCaps = virQEMUCapsCacheLookup(driver->qemuCapsCache,
+                                                def->emulator)))
+            goto cleanup;
+
+        if (qemuDomainAssignAddresses(def, qemuCaps, NULL) < 0)
+            goto cleanup;
+
         if (!qemuDomainDefCheckABIStability(driver, vm->def, def))
             goto cleanup;
 
@@ -3117,6 +3125,7 @@ qemuMigrationBeginPhase(virQEMUDriverPtr driver,
     qemuMigrationCookieFree(mig);
     virObjectUnref(caps);
     virDomainDefFree(def);
+    virObjectUnref(qemuCaps);
     return rv;
 }
 
-- 
1.8.3.1




More information about the libvir-list mailing list