enovance/puppet-openstack-cloud — pull request #630 by sbadia (2014-09-21 23:01:38+00:00)
Title: compute/hypervisor: Fix block_migration_flag

When using block migration, you need to specify one of NON_SHARED_INC or
NON_SHARED_DISK, otherwise the data is not transfered.

VIR_MIGRATE_LIVE is needed to be able to live migrate VM and not pause
them during the migration « Do not pause the VM during migration »

http://libvirt.org/git/?p=libvirt.git;a=blob;f=src/libvirt.c;h=48065359507f80cb1440aadc3baaea6af00c2a42;hb=HEAD#l6039

In Juno, we also have the VIR_MIGRATE_TUNNELLED « Tunnel migration data
over the libvirt RPC channel »

https://github.com/openstack/nova/blob/442f21c08cc720cfd5d6f5a637572b3c6512bff2/nova/virt/libvirt/driver.py#L161-L163
http://libvirt.org/git/?p=libvirt.git;a=blob;f=src/libvirt.c;h=48065359507f80cb1440aadc3baaea6af00c2a42;hb=HEAD#l6041

But we have a error with qemu-nbd…
virNetSocketReadWire:1477 : End of file while reading data: Input/output error
qemuMigrationBeginPhase:2088 : NBD in tunnelled migration is currently not supported

When not using VIR_MIGRATE_TUNNELLED flag, a new TCP connexion is
created during migration to transfer the disk image.