From: Alon Levy <alevy@redhat.com>
To: "Daniel P. Berrange" <berrange@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 0/3] client_migrate_switch and auto_switch (RHBZ 725009)
Date: Fri, 26 Aug 2011 13:23:26 +0300 [thread overview]
Message-ID: <20110826102326.GX6393@bow.redhat.com> (raw)
In-Reply-To: <20110826100338.GH3944@redhat.com>
On Fri, Aug 26, 2011 at 11:03:38AM +0100, Daniel P. Berrange wrote:
> 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:
>
So the current suggestion would be to have:
> 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
client_migrate_info implementation is changes to do:
spice-server sends switch command to spice client, and waits for
a success or error indication from it. Then the monitor command completes
and libvirt continues to the next one. Since this is before migrate
is issued the destination handles the spice client connection.
> - 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 :|
prev parent reply other threads:[~2011-08-26 10:25 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-19 17:08 [Qemu-devel] [PATCH 0/3] client_migrate_switch and auto_switch (RHBZ 725009) Alon Levy
2011-08-19 17:08 ` [Qemu-devel] [PATCH 1/3] monitor: refactor whitespace and optional argument parsing Alon Levy
2011-08-19 17:08 ` [Qemu-devel] [PATCH 2/3] spice-core: client_migrate_info: add optional auto_switch parameter (RHBZ 725009) Alon Levy
2011-08-19 17:08 ` [Qemu-devel] [PATCH 3/3] monitor: add client_migrate_switch command " Alon Levy
2011-08-26 9:54 ` [Qemu-devel] [PATCH 0/3] client_migrate_switch and auto_switch " Gerd Hoffmann
2011-08-26 10:03 ` Daniel P. Berrange
2011-08-26 10:17 ` Gerd Hoffmann
2011-08-26 10:43 ` Alon Levy
2011-08-26 11:00 ` Gerd Hoffmann
2011-08-26 11:04 ` Daniel P. Berrange
2011-08-26 12:39 ` Gerd Hoffmann
2011-08-26 13:13 ` Daniel P. Berrange
2011-08-26 10:23 ` Alon Levy [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110826102326.GX6393@bow.redhat.com \
--to=alevy@redhat.com \
--cc=berrange@redhat.com \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).