[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/3] client_migrate_switch and auto_switch (RHBZ
From: |
Daniel P. Berrange |
Subject: |
Re: [Qemu-devel] [PATCH 0/3] client_migrate_switch and auto_switch (RHBZ 725009) |
Date: |
Fri, 26 Aug 2011 11:03:38 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Fri, Aug 26, 2011 at 11:54:49AM +0200, Gerd Hoffmann wrote:
> On 08/19/11 19:08, Alon Levy wrote:
> >Fix the ticket expiration on target vm for a spice connection without
> >introducing
> >a race between the spice server switching the client to the new host itself
> >and
> >the target libvirt setting the new expiration date, by adding an option to
> >client_migrate_info to not automatically switch the client on migration
> >completion,
> >instead waiting for an explicit client_migrate_switch (new monitor command)
> >from
> >libvirt.
>
> Hmm. Guess the fundamental issue is that libvirt wants to use the
> monitor to set the ticket instead of the command line for security
> reasons. The qemu monitor doesn't accept commands while the
> incoming migration is running. We also can't kick the incoming
> migration via monitor, so first setting the ticket then start
> migration doesn't work too. Correct?
There is actually a reliable window where we can use the monitor
before incoming migration starts. Libvirt's migration is a 5 stage
handshake:
1. Begin(src)
- Gets current source VM XML config
2. Prepare(dst)
- Launches QEMU -incoming
- Sets passwords, etc to monitor
3. Perform(src)
- Issue migrate_client_info
- Issue migrate_set_speed
- Issue migrate
- Loop
- Issue query-migrate
- Break if finished/failed
4. Finish(dst)
- If success
- start CPUs
Else
- Kill QEMU
5. Confirm(src)
- If success
- Kill QEMU
Else
- Restart CPUs
Those stages are all serialized, so we can do anything we like
with the QEMU monitor at stage 2, before stage 3 will start
back on the src.
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
- [Qemu-devel] [PATCH 0/3] client_migrate_switch and auto_switch (RHBZ 725009), Alon Levy, 2011/08/19
- [Qemu-devel] [PATCH 1/3] monitor: refactor whitespace and optional argument parsing, Alon Levy, 2011/08/19
- [Qemu-devel] [PATCH 2/3] spice-core: client_migrate_info: add optional auto_switch parameter (RHBZ 725009), Alon Levy, 2011/08/19
- [Qemu-devel] [PATCH 3/3] monitor: add client_migrate_switch command (RHBZ 725009), Alon Levy, 2011/08/19
- Re: [Qemu-devel] [PATCH 0/3] client_migrate_switch and auto_switch (RHBZ 725009), Gerd Hoffmann, 2011/08/26
- Re: [Qemu-devel] [PATCH 0/3] client_migrate_switch and auto_switch (RHBZ 725009),
Daniel P. Berrange <=
- Re: [Qemu-devel] [PATCH 0/3] client_migrate_switch and auto_switch (RHBZ 725009), Gerd Hoffmann, 2011/08/26
- Re: [Qemu-devel] [PATCH 0/3] client_migrate_switch and auto_switch (RHBZ 725009), Alon Levy, 2011/08/26
- Re: [Qemu-devel] [PATCH 0/3] client_migrate_switch and auto_switch (RHBZ 725009), Gerd Hoffmann, 2011/08/26
- Re: [Qemu-devel] [PATCH 0/3] client_migrate_switch and auto_switch (RHBZ 725009), Daniel P. Berrange, 2011/08/26
- Re: [Qemu-devel] [PATCH 0/3] client_migrate_switch and auto_switch (RHBZ 725009), Gerd Hoffmann, 2011/08/26
- Re: [Qemu-devel] [PATCH 0/3] client_migrate_switch and auto_switch (RHBZ 725009), Daniel P. Berrange, 2011/08/26
- Re: [Qemu-devel] [PATCH 0/3] client_migrate_switch and auto_switch (RHBZ 725009), Alon Levy, 2011/08/26