qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: "Daniel P. Berrange" <berrange@redhat.com>
Cc: Alon Levy <alevy@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 12:17:58 +0200	[thread overview]
Message-ID: <4E5772D6.1090304@redhat.com> (raw)
In-Reply-To: <20110826100338.GH3944@redhat.com>

On 08/26/11 12:03, 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:
>
>    1. Begin(src)
>        - Gets current source VM XML config
>    2. Prepare(dst)
>        - Launches QEMU -incoming
>        - Sets passwords, etc to monitor
>    3. Perform(src)

> 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.

Ok, so I think we should be able to fix the race outlined above without 
adding new monitor commands, just by letting libvirt set the spice 
ticket in stage 2.

cheers,
   Gerd

  reply	other threads:[~2011-08-26 10:18 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 [this message]
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

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=4E5772D6.1090304@redhat.com \
    --to=kraxel@redhat.com \
    --cc=alevy@redhat.com \
    --cc=berrange@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).