[libvirt] [PATCH 0/6] correctly migrate paused VMs (and a bunch of bugfixes)

Chris Lalancette clalance at redhat.com
Fri Oct 2 07:11:53 UTC 2009


Paolo Bonzini wrote:
> Currently, the QEMU driver tries to migrate paused VMs, but the
> effect is that the migrated virtual machine will always run on the
> destination.
> 
> Furthermore, the state is erroneously stored as paused, so that the
> driver is left confused and it is not possible to re-pause the VM
> without doing a (useless except to make the libvirtd state consistent)
> "virsh resume" first.
> 
> While pausing is not very used, this feature is still nice-to-have
> in case for example you're migrating all VMs in emergency, or (when
> QEMU will have asynchronous notifications) if you want to run QEMU
> with the werror=stop option (*).
> 
> This set of patches is structured as follows:
> 
> 1) patches 1 and 2 fix two bugs that were introduced by the recent
> reorganization.
> 
> 2) patch 3 fixes a bug that happens to be in the paths touched later on;
> 
> 3) patch 4 adds the possibility to migrate a VM and leave it suspended
> on the destination VM.  I added the feature for debugging and thought I
> might as well submit it for inclusion.  Especially if the last two
> patches turn out to be a no-go (at least in their current form), this
> patch at least provides the infrastructure and a way to test it.
> 
> 4) patches 5 and 6 actually fix the bug.  Unfortunately, this requires
> a change to the RPC protocol.  I'm not sure whether it is required the
> libvirtd's on both sides of the migration to have the same version,
> or rather if this is a deal breaker.
> 
> The change to the protocol is in patch 5; the bug fix is in patch 6.
> 
> Please review and ack (or, for the last two, nack).
> 
> Paolo
> 
>     (*) While the state of the migrated VM is currently fetched at the
>     beginning of migration, the communication happens at the end of it
>     (from Perform to Finish), so this is ready for being improved in
>     the future once QEMU provides asynchronous notifications.

I haven't reviewed the actual code yet, but I like the idea.  Unfortunately this
patch series is going to clash horribly with the tunnelled migration code that
I'm going to commit today, so I'd suggest waiting until I commit, rebasing, and
then reposting.

-- 
Chris Lalancette




More information about the libvir-list mailing list