[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