All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Peter Xu <peterx@redhat.com>
Cc: Juan Quintela <quintela@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-devel@nongnu.org, Markus Armbruster <armbru@redhat.com>,
	Leonardo Bras <leobras@redhat.com>,
	qemu-block@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>,
	Eric Blake <eblake@redhat.com>, Fam Zheng <fam@euphon.net>,
	Thomas Huth <thuth@redhat.com>,
	libvir-list@redhat.com
Subject: Re: [RFC 4/6] migration: Deprecate -incoming <uri>
Date: Fri, 23 Jun 2023 08:17:46 +0100	[thread overview]
Message-ID: <ZJVHGtK38JwNJW9Z@redhat.com> (raw)
In-Reply-To: <ZJSe4TunhU47yIJ/@x1n>

On Thu, Jun 22, 2023 at 03:20:01PM -0400, Peter Xu wrote:
> On Thu, Jun 22, 2023 at 05:33:29PM +0100, Daniel P. Berrangé wrote:
> > On Thu, Jun 22, 2023 at 11:54:43AM -0400, Peter Xu wrote:
> > > I can try to move the todo even higher.  Trying to list the initial goals
> > > here:
> > > 
> > > - One extra phase of handshake between src/dst (maybe the time to boost
> > >   QEMU_VM_FILE_VERSION) before anything else happens.
> > > 
> > > - Dest shouldn't need to apply any cap/param, it should get all from src.
> > >   Dest still need to be setup with an URI and that should be all it needs.
> > > 
> > > - Src shouldn't need to worry on the binary version of dst anymore as long
> > >   as dest qemu supports handshake, because src can fetch it from dest.
> > 
> > I'm not sure that works in general. Even if we have a handshake and
> > bi-directional comms for live migration, we still haave the save/restore
> > to file codepath to deal with. The dst QEMU doesn't exist at the time
> > the save process is done, so we can't add logic to VMSate handling that
> > assumes knowledge of the dst version at time of serialization.
> 
> My current thought was still based on a new cap or anything the user would
> need to specify first on both sides (but hopefully the last cap to set on
> dest).
> 
> E.g. if with a new handshake cap we shouldn't set it on a exec: or file:
> protocol migration, and it should just fail on qmp_migrate() telling that
> the URI is not supported if the cap is set.  Return path is definitely
> required here.

exec can support bi-directional migration - we have both stdin + stdout
for the command. For exec it is mostly a documentation problem - you
can't merely use 'cat' for example, but if you used 'socat' that could
be made to work bi-directionally.

> > I don't think its possible for QEMU to validate that it has a fully
> > bi-directional channel, without adding timeouts to its detection which I
> > think we should strive to avoid.
> > 
> > I don't think we actually need self-bootstrapping anyway.
> > 
> > I think the mgmt app can just indicate the new v2 bi-directional
> > protocol when issuing the 'migrate' and 'migrate-incoming'
> > commands.  This becomes trivial when Het's refactoring of the
> > migrate address QAPI is accepted:
> > 
> >   https://lists.gnu.org/archive/html/qemu-devel/2023-05/msg04851.html
> > 
> > eg:
> > 
> >     { "execute": "migrate",
> >       "arguments": {
> >           "channels": [ { "channeltype": "main",
> >                           "addr": { "transport": "socket", "type": "inet",
> >                                    "host": "10.12.34.9",
> >                                     "port": "1050" } } ] } }
> > 
> > note the 'channeltype' parameter here. If we declare the 'main'
> > refers to the existing migration protocol, then we merely need
> > to define a new 'channeltype' to use as an indicator for the
> > v2 migration handshake protocol.
> 
> Using a new channeltype would also work at least on src qemu, but I'm not
> sure on how dest qemu would know that it needs a handshake in that case,
> because it knows nothing until the connection is established.

In Het's series the 'migrate_incoming' command similarly has a chaneltype
parameter.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



  reply	other threads:[~2023-06-23  7:19 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-12 19:33 [RFC 0/6] Migration deprecated parts Juan Quintela
2023-06-12 19:33 ` [RFC 1/6] migration: skipped field is really obsolete Juan Quintela
2023-06-20 12:01   ` Daniel P. Berrangé
2023-06-22 17:49     ` Juan Quintela
2023-06-12 19:33 ` [RFC 2/6] migration: migrate 'inc' command option is deprecated Juan Quintela
2023-06-20 12:05   ` Daniel P. Berrangé
2023-06-22 18:11     ` Juan Quintela
2023-06-12 19:33 ` [RFC 3/6] migration: migrate 'blk' " Juan Quintela
2023-06-20 12:06   ` Daniel P. Berrangé
2023-06-22 18:12     ` Juan Quintela
2023-06-12 19:33 ` [RFC 4/6] migration: Deprecate -incoming <uri> Juan Quintela
2023-06-12 19:41   ` Peter Xu
2023-06-12 20:51     ` Juan Quintela
2023-06-12 21:19       ` Peter Xu
2023-06-20 12:13         ` Daniel P. Berrangé
2023-06-22 19:34         ` Juan Quintela
2023-06-20 12:10       ` Daniel P. Berrangé
2023-06-20 14:45         ` Peter Xu
2023-06-22  8:28       ` Paolo Bonzini
2023-06-22  8:52         ` Juan Quintela
2023-06-22  9:22           ` Thomas Huth
2023-06-22 15:25             ` Peter Xu
2023-06-22 19:37               ` Juan Quintela
2023-06-22  9:45           ` Paolo Bonzini
2023-06-22 10:01             ` Juan Quintela
2023-06-22 15:24               ` Peter Xu
2023-06-22 16:03                 ` Paolo Bonzini
2023-06-22  9:59           ` Daniel P. Berrangé
2023-06-22 15:54             ` Peter Xu
2023-06-22 16:33               ` Daniel P. Berrangé
2023-06-22 19:20                 ` Peter Xu
2023-06-23  7:17                   ` Daniel P. Berrangé [this message]
2023-06-23 14:34                     ` Peter Xu
2023-06-23  8:23               ` Daniel P. Berrangé
2023-06-23 14:51                 ` Peter Xu
2023-06-23 15:03                   ` Daniel P. Berrangé
2023-06-21  7:08   ` Thomas Huth
2023-06-22  2:22     ` Juan Quintela
2023-06-22  8:30     ` Paolo Bonzini
2023-06-22 18:12   ` Juan Quintela
2023-06-12 19:33 ` [RFC 5/6] migration: Deprecate block migration Juan Quintela
2023-06-21 11:45   ` Stefan Hajnoczi
2023-06-22 18:17     ` Juan Quintela
2023-06-12 19:33 ` [RFC 6/6] migration: Deprecated old compression method Juan Quintela
2023-06-21  7:14   ` Thomas Huth
2023-06-22 19:21     ` Juan Quintela
2023-06-21 10:31   ` Daniel P. Berrangé
2023-06-22 19:32     ` Juan Quintela
2023-06-13  7:48 ` [RFC 0/6] Migration deprecated parts Jiri Denemark

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=ZJVHGtK38JwNJW9Z@redhat.com \
    --to=berrange@redhat.com \
    --cc=armbru@redhat.com \
    --cc=eblake@redhat.com \
    --cc=fam@euphon.net \
    --cc=leobras@redhat.com \
    --cc=libvir-list@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peterx@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=stefanha@redhat.com \
    --cc=thuth@redhat.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.