Summary: | virsh migrate --live --copy-storage-all --persistent ... --xml dest-domain.xml saves wrong XML at destination | ||
---|---|---|---|
Product: | [Community] Virtualization Tools | Reporter: | Need Real Name <karlcz> |
Component: | libvirt | Assignee: | Jiri Denemark <jdenemar> |
Status: | CLOSED NEXTRELEASE | QA Contact: | |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | unspecified | CC: | bugs, crobinso, cwei, dyuan, fjin, laine, libvirt-maint, mzhan, rbalakri, tm, weizhan, zpeng |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2016-11-22 20:36:40 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: |
Description
Need Real Name
2012-06-25 21:43:20 UTC
Me Too™ I first came accross this issue with --copy-storage-all, too. But after some further migrations at our site I can add that storage copy has nothing to do with this. The same issue applies with shared storage when modifying just anything in the XML for migration - network attachments, direct kernel boot paths, etc. So basically, what's passed via virsh migrate's --xml option is applied to the running VM at the destination while the persistent definition will be a copy of the source's persistent definition without the modifications. And it still happens with 1.2.1 Workaround: virsh edit on the destination will then show the persistent version. Replacing that with the live one commits the correct XML to disk. As it is, this bug is still present in 1.2.8 and I can confirm Malte's analysis: the XML provided during the migration is only used for starting the VM, the inactive XML is directly copied from the source host if the VIR_MIGRATE_PERSIST_DEST is present. Note this seems to have just been fixed with an extra migration flag: commit b028e9d7c2f0f7713ba102d01aece13ee72136a1 Author: Dmitry Andreev <dandreev@virtuozzo.com> Date: Thu Mar 17 19:31:45 2016 +0300 qemu: migration: new migration param for persistent destination XML Migration API allows to specify a destination domain configuration. Offline domain has only inactive XML and it is replaced by configuration specified using VIR_MIGRATE_PARAM_DEST_XML param. In case of live migration VIR_MIGRATE_PARAM_DEST_XML param is applied for active XML. This commit introduces the new VIR_MIGRATE_PARAM_PERSIST_XML param that can be used within live migration to replace persistent/inactive configuration. Required for: https://bugzilla.redhat.com/show_bug.cgi?id=835300 It should probably be wired up in virsh too though... Finally fixed by commit 38f7f297c84dc41cf3e7d2ae5a8f25273f674f13 Refs: v2.4.0-184-g38f7f297c Author: Jiri Denemark <jdenemar@redhat.com> AuthorDate: Tue Nov 22 14:06:43 2016 +0100 Commit: Jiri Denemark <jdenemar@redhat.com> CommitDate: Tue Nov 22 21:24:55 2016 +0100 virsh: Add support for VIR_MIGRATE_PARAM_PERSIST_XML Commit v1.3.3-181-gb028e9d7c implmented support for VIR_MIGRATE_PARAM_PERSIST_XML migration parameter, but forgot to update virsh. https://bugzilla.redhat.com/show_bug.cgi?id=835300 Signed-off-by: Jiri Denemark <jdenemar@redhat.com> |