All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: "Daniel P. Berrange" <berrange-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: "dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org"
	<dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org>,
	Flavio Leitner <fleitner-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	"dev-VfR2kkLFssw@public.gmane.org"
	<dev-VfR2kkLFssw@public.gmane.org>,
	Michal Privoznik
	<mprivozn-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Daniele Di Proietto
	<diproiettod-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>,
	"libvir-list-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org"
	<libvir-list-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Maxime Coquelin
	<maxime.coquelin-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: Re: [libvirt] [RFC] Vhost-user backends cross-version migration support
Date: Thu, 2 Feb 2017 19:31:49 +0200	[thread overview]
Message-ID: <20170202193041-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20170202172908.GW2915-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>

On Thu, Feb 02, 2017 at 05:29:08PM +0000, Daniel P. Berrange wrote:
> On Thu, Feb 02, 2017 at 07:20:35PM +0200, Michael S. Tsirkin wrote:
> > On Thu, Feb 02, 2017 at 05:10:28PM +0000, Daniel P. Berrange wrote:
> > > On Thu, Feb 02, 2017 at 06:21:55PM +0200, Michael S. Tsirkin wrote:
> > > > On Thu, Feb 02, 2017 at 03:06:21PM +0000, Daniel P. Berrange wrote:
> > > > > On Thu, Feb 02, 2017 at 03:14:01PM +0100, Maxime Coquelin wrote:
> > > > > > 
> > > > > > 
> > > > > > On 02/01/2017 12:41 PM, Daniel P. Berrange wrote:
> > > > > > > 
> > > > > > > It depends where / how in OVS it needs to be set. The only stuff libvirt
> > > > > > > does with OVS is to run 'add-port' and 'del-port' commands via the ovs
> > > > > > > cli tool. We pass through arguments from the port profile stored in the
> > > > > > > XML config.
> > > > > > > 
> > > > > > >   <interface type='bridge'>
> > > > > > >     <source bridge='ovsbr'/>
> > > > > > >     <virtualport type='openvswitch'>
> > > > > > >       <parameters profileid='menial' interfaceid='09b11c53-8b5c-4eeb-8f00-d84eaa0aaa4f'/>
> > > > > > >     </virtualport>
> > > > > > >   </interface>
> > > > > > > 
> > > > > > > eg those things in <parameters/> get passed as cli args to the 'add-port'
> > > > > > > command. Soo if add-port needs this new version string, then we'd need
> > > > > > > to add the version to the openvswitch virtualport XML.
> > > > > > > 
> > > > > > > If the version is provided to OVS in a different command, then it would
> > > > > > > probably be outside scope of libvirt.
> > > > > > 
> > > > > > I think it would make sense to be a parameter of the add-port command.
> > > > > > But it would be for vhost-user related add-port command, I didn't find
> > > > > > where/if this is managed in libvirt XML.
> > > > > 
> > > > > For vhost-user, libvirt does not have any interaction with OVS at
> > > > > all. If the thing that's using the vhost-user UNIX socket, in turn
> > > > > connects to OVS, that's outside scope of libvirt. IOW, for vhost-user
> > > > > OVS it seems like that job is for Nova / os-vif to solve.
> > > > 
> > > > I don't think they currently understand the issues involved in
> > > > cross-version migration though.  This is a complex subject and easy to
> > > > get wrong.  It would be significantly better to figure it out at libvirt
> > > > level since it already deals with cross-version migration issues.
> > > 
> > > Libvirt considers vhost-user to be a blackbox though - it just exposes
> > > a UNIX socket, and whatever is on the other end is completely opaque.
> > > The fact that the other end might plumb the data stream into openvswitch
> > > is not something libvirt should know, as we don't want to end up having
> > > to add custom code to libvirt for every different vhost-user server
> > > impl.
> > > 
> > > IOW, if the version str can be passed to QEMU, and then onto vhost-user
> > > backend in QEMU, then libvirt can be involved. If the version str has
> > > to be given to openvswitch that's not for libvirt to deall with.
> > > 
> > > Regards,
> > > Daniel
> > 
> > It's not just about passing it to QEMU. The following is needed:
> > - need to query version when creating VM/device
> > - need to query supported versions when migrating VM
> 
> Those are both things that nova can do, since it knows what the vhost-user
> device in question is connected to, and so can query the versions, and check
> versions before triggering migration with libvirt
> 
> Regards,
> Daniel

It can, but then it will need to query libvirt or source for the version
string since it's in the XML.

> -- 
> |: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
> |: http://libvirt.org              -o-             http://virt-manager.org :|
> |: http://entangle-photo.org       -o-    http://search.cpan.org/~danberr/ :|

  parent reply	other threads:[~2017-02-02 17:31 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-01  8:35 [RFC] Vhost-user backends cross-version migration support Maxime Coquelin
2017-02-01  9:14 ` [libvirt] " Michal Privoznik
2017-02-01  9:43   ` Daniel P. Berrange
2017-02-01 11:33     ` Maxime Coquelin
2017-02-01 11:41       ` Daniel P. Berrange
     [not found]         ` <20170201114119.GE3232-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-02-01 22:32           ` Michael S. Tsirkin
2017-02-02 14:14         ` Maxime Coquelin
2017-02-02 15:06           ` Daniel P. Berrange
2017-02-02 16:21             ` Michael S. Tsirkin
     [not found]               ` <20170202181827-mutt-send-email-mst-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-02-02 17:10                 ` Daniel P. Berrange
     [not found]                   ` <20170202171028.GT2915-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-02-02 17:20                     ` Michael S. Tsirkin
2017-02-02 17:29                       ` Daniel P. Berrange
     [not found]                         ` <20170202172908.GW2915-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-02-02 17:31                           ` Michael S. Tsirkin [this message]
     [not found]                             ` <20170202193041-mutt-send-email-mst-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-02-02 18:21                               ` Daniel P. Berrange
     [not found]                                 ` <20170202182155.GA30916-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-02-02 18:27                                   ` Michael S. Tsirkin
2017-02-03  9:27                                     ` Daniel P. Berrange
2017-02-03  9:41                                       ` Maxime Coquelin
     [not found]                                         ` <34bf53f0-7595-fd90-300d-41db10a43ece-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-02-03 10:11                                           ` Daniel P. Berrange
2017-02-03 11:36                                             ` Maxime Coquelin
2017-02-02 16:47             ` Laine Stump
2017-02-02 17:09               ` Michael S. Tsirkin
     [not found]                 ` <20170202190811-mutt-send-email-mst-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-02-02 17:13                   ` Daniel P. Berrange
2017-02-02 17:16                 ` Maxime Coquelin
2017-02-03  9:12                   ` Michal Privoznik
     [not found]                     ` <3ca28dd9-140b-85c2-2040-b1397b3ea254-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-02-03 17:40                       ` Laine Stump
2017-02-03 14:11 ` Maxime Coquelin
     [not found]   ` <4cad5796-7024-4a48-a73a-8dd780259968-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-02-03 15:34     ` Michael S. Tsirkin
2017-02-03 15:54       ` Daniel P. Berrange
2017-02-03 16:10         ` Michael S. Tsirkin
2017-02-03 17:22       ` Maxime Coquelin

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=20170202193041-mutt-send-email-mst@kernel.org \
    --to=mst-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=berrange-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=dev-VfR2kkLFssw@public.gmane.org \
    --cc=dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org \
    --cc=diproiettod-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org \
    --cc=fleitner-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=libvir-list-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=maxime.coquelin-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=mprivozn-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.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 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.