Looks like nobody tried migrations lately. I just did and found interesting bug. On the destination qemu binary was at different path. So I've dumped domain XML I was trying ti migrate and just changed the emulator path. All of a sudden I observed plenty of errors. Problem is that whilst parsing the user provided migration XML (and doing other operations on it), because of parse callbacks we need qemuCaps for the binary. However, we just take the def->emulator and expect it to exist. Well, it doesn't. Michal Privoznik (9): conf: Introduce virDomainDefPostParseOpaque conf: Introduce virDomainDefParseStringOpaque qemuDomainDefPostParse: Fetch qemuCaps from domain object conf: Extend virDomainDeviceDefPostParse for parseOpaque qemuDomainDeviceDefPostParse: Fetch caps from domain object conf: Extend virDomainDefAssignAddressesCallback for parseOpaque qemuDomainDefAssignAddresses: Fetch caps from domain object domain_conf: Introduce VIR_DOMAIN_DEF_PARSE_SKIP_POST_PARSE conf: Skip post parse callbacks when creating copy src/bhyve/bhyve_domain.c | 6 ++-- src/conf/domain_conf.c | 80 +++++++++++++++++++++++++++++++++++++--------- src/conf/domain_conf.h | 43 +++++++++++++++++++++---- src/libvirt_private.syms | 3 ++ src/libxl/libxl_domain.c | 6 ++-- src/lxc/lxc_domain.c | 6 ++-- src/openvz/openvz_driver.c | 6 ++-- src/phyp/phyp_driver.c | 6 ++-- src/qemu/qemu_domain.c | 50 ++++++++++++++++++++++------- src/qemu/qemu_migration.c | 6 ++-- src/uml/uml_driver.c | 6 ++-- src/vbox/vbox_common.c | 6 ++-- src/vmware/vmware_driver.c | 6 ++-- src/vmx/vmx.c | 6 ++-- src/vz/vz_driver.c | 6 ++-- src/xen/xen_driver.c | 6 ++-- src/xenapi/xenapi_driver.c | 6 ++-- 17 files changed, 195 insertions(+), 59 deletions(-) -- 2.8.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list