QEMU-Devel Archive mirror
 help / color / mirror / Atom feed
From: Peter Xu <peterx@redhat.com>
To: Steven Sistare <steven.sistare@oracle.com>,
	QEMU Devel Mailing List <qemu-devel@nongnu.org>
Cc: Fabiano Rosas <farosas@suse.de>,
	Markus Armbruster <armbru@redhat.com>,
	Het Gala <het.gala@nutanix.com>
Subject: Re: More doc updates needed for new migrate argument @channels
Date: Fri, 3 May 2024 15:11:37 -0400	[thread overview]
Message-ID: <ZjU26faJBrt9Gb-G@x1n> (raw)
In-Reply-To: <31a8bb06-5270-4fbb-b8f1-39cd06687c34@oracle.com>

On Fri, May 03, 2024 at 09:13:27AM -0400, Steven Sistare wrote:
> On 5/3/2024 8:49 AM, Fabiano Rosas wrote:
> > Markus Armbruster <armbru@redhat.com> writes:
> > 
> > > Commit 074dbce5fcce (migration: New migrate and migrate-incoming
> > > argument 'channels') and its fixup commit 57fd4b4e1075 made command
> > > migrate argument @uri optional and mutually exclusive with @channels.
> > > 
> > > But documentation still talks about "the migration URI" in several
> > > places.
> > > 
> > > * MigrationCapability @mapped-ram:
> > > 
> > >      # @mapped-ram: Migrate using fixed offsets in the migration file for
> > >      #     each RAM page.  Requires a migration URI that supports seeking,
> > >      #     such as a file.  (since 9.0)
> > > 
> > >    I guess it requires the migration destination (@uri or @channels) to
> > >    support seeking.
> > 
> > This is ambiguous. The migration destination is usually the VM at the
> > end of the migration, not the medium to where the migration stream is
> > written to.
> > 
> > One option is to just add the mention to channel all around: "Requires a
> > migration URI or channel that supports seeking".
> > 
> > > 
> > > * MigMode @cpr-reboot:
> > > 
> > >      # @cpr-reboot: The migrate command stops the VM and saves state to the
> > >      #     URI.  After quitting QEMU, the user resumes by running QEMU
> > >      #     -incoming.
> > >      #
> > >      #     This mode allows the user to quit QEMU, optionally update and
> > >      #     reboot the OS, and restart QEMU.  If the user reboots, the URI
> > >      #     must persist across the reboot, such as by using a file.
> > > 
> > >    I guess this saves to the migration destination (@uri or @channels).
> > > 
> > > * Migration Parameter @tls-hostname and its two buddies
> > > 
> > >      # @tls-hostname: migration target's hostname for validating the
> > >      #     server's x509 certificate identity.  If empty, QEMU will use the
> > >      #     hostname from the migration URI, if any.  A non-empty value is
> > >      #     required when using x509 based TLS credentials and the migration
> > >      #     URI does not include a hostname, such as fd: or exec: based
> > >      #     migration.  (Since 2.7)
> > >      #
> > >      #     Note: empty value works only since 2.9.
> > > 
> > >    What's the default when we're using @channels instead of @uri?
> > 
> > The same, both URI and channels get put in the same structure before
> > taking the hostname.
> > 
> > > 
> > > * migrate-recover
> > > 
> > >      ##
> > >      # @migrate-recover:
> > >      #
> > >      # Provide a recovery migration stream URI.
> > >      #
> > >      # @uri: the URI to be used for the recovery of migration stream.
> > > 
> > >    Should this command be extended to accept @channels?
> > 
> > Yes.
> > 
> > > 
> > > * docs/devel/migration/CPR.rst
> > > 
> > >    Didn't look closely.  Let's discuss the others first, then come back
> > >    to this one.
> > > 
> > > * HMP migrate
> > > 
> > >    Fine, because this still only supports URI syntax.
> > > 
> > > * CLI option "-incoming defer"
> > > 
> > >          "-incoming defer\n" \
> > >          "                wait for the URI to be specified via migrate_incoming\n",
> > > 
> > >    and
> > > 
> > >      ``-incoming defer``
> > >          Wait for the URI to be specified via migrate\_incoming. The monitor
> > >          can be used to change settings (such as migration parameters) prior
> > >          to issuing the migrate\_incoming to allow the migration to begin.
> > > 
> > >    I figure we should call it "the migration source" instead of "the URI"
> > >    here.
> > 
> > I think it's worse. We need a proper way to refer exclusively to "the
> > thing that the user passes as an argument to the migrate command".
> 
> Agreed.  My thoughts:
> 
> "migration URI" -> "migration URI/channel"
> or
> "migration URI" -> "migration stream"

"stream" might imply more on the protocol itself to me, e.g. how the
migration headers are defined, rather than the entity / fabric we use to
send the data stream?

Maybe we can simply do s/URI/channel/? As "channel" can also imply the URI
in this case as yet another (old) format to specify the migration channels.
It's like we always use QIOChannels underneath whatever way we specify the
channels (either URI or the new "channels" API).

I also copied qemu-devel starting from now.

Thanks,

-- 
Peter Xu



       reply	other threads:[~2024-05-03 19:12 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87ttjf1jk8.fsf@pond.sub.org>
     [not found] ` <87fruznjqf.fsf@suse.de>
     [not found]   ` <31a8bb06-5270-4fbb-b8f1-39cd06687c34@oracle.com>
2024-05-03 19:11     ` Peter Xu [this message]
2024-05-03 20:03       ` More doc updates needed for new migrate argument @channels Fabiano Rosas
2024-05-06  4:58       ` Markus Armbruster
2024-05-06 15:40         ` Peter Xu

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=ZjU26faJBrt9Gb-G@x1n \
    --to=peterx@redhat.com \
    --cc=armbru@redhat.com \
    --cc=farosas@suse.de \
    --cc=het.gala@nutanix.com \
    --cc=qemu-devel@nongnu.org \
    --cc=steven.sistare@oracle.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 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 read-only IMAP folder(s) and NNTP newsgroup(s).