xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: George Dunlap <george.dunlap@eu.citrix.com>
To: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: [Hackathon] libvirt session notes
Date: Mon, 2 Jun 2014 15:19:07 +0100	[thread overview]
Message-ID: <538C87DB.3070204@eu.citrix.com> (raw)
In-Reply-To: <379133F4-ABF0-4D35-B90F-AE53D8CD1CAA@recoil.org>


[-- Attachment #1.1: Type: text/plain, Size: 4890 bytes --]

Thanks to Anil for taking these.
  -George

-------- Original Message --------
Subject: 	libvirt session notes
Date: 	Thu, 29 May 2014 11:33:29 +0100
From: 	Anil Madhavapeddy <anil@recoil.org>
To: 	George Dunlap <George.Dunlap@eu.citrix.com>, Ian Jackson 
<Ian.Jackson@eu.citrix.com>, Dario Faggioli <dario.faggioli@citrix.com>, 
David Scott <Dave.Scott@eu.citrix.com>, John Garbutt 
<John.Garbutt@rackspace.co.uk>, Lars Kurth <lars.kurth@xen.org>



Could someone post this on the Xen wiki? libvirt session notes.

attendees:
daniel berrange (redhat)
george dunlap (citrix)
ian jackson (citrix)
dario (citrix)
dave scott (citrix)
xen orchestra folks
dan keningsberg (ovirt lead)
john garbutt (rackspace)
?? (rackspace)

- what is it overview?

JonL describes the xapi project and how it fits together with the toolstacks.  xend being deprecated for xen 4.5 (planned), and replaced by libxl.  libxl is a C interface that's designed to be backwards compatible. libxl in xen 4.4 has forward API compatibility, but not backwards (but this is not as important).

Some features such as cancellation are discussed.  libxl has no support for task cancellation. Daniel says that libvirt has some support for job cancellation, but not all operations (only the ones designated as asynchronous ones).

Live migration: multiple apis in libvirt for migration, none are supported xl. Dario suggests that we'll have some migration soon in libxl.  libvirt doesnt require that all hypervisor drivers support the same features, but enumerates things like device models. GeorgeD points that out that implementation details from one hypervisor can leak through (e.g. USB models).  DanielB notes that much of the Xen basics are already in libvirt due to the xend support.

libvirt's approach is to be quite explicit when talking to underlying layers, to ensure that it doesn't depend on defaults change downstream in the future.  Discussion of machine types in libvirt and how this interacts with various drivers.   Some hypervisor-specific features like qemu monitor support are put into a separate libvirt-qemu library, that can be deprecated more easily than if they were integrated directly.

How do these tools all interact if you use them at the same time?  Overall, libxl is stateless and so tries to deal with other things working on the host.

IanJ asks about consoles.  There's a notification mechanism in libvirt that can be wired up for this, and libvirt has a more extensible design to make it easier to hook this stuff in.

Who is using libvirt?  There are now automated libvirt tests as part of osstest (IanJ/GeorgeD/IanC).  So new versions of libvirt are tested to see if they break Xen, and vice versa.  Does not include live migration yet.

Is there a libxl to libvirt xml -- feed it an xm config file and some fixing up.  Not fully ported to xl yet, but all agree this would be useful to have on the wiki.  IanJ suggests it'll be useful to take the libxl config parser and expose the struct directly.

What's not supported in libvirt?  Migration is known.  DaveS notes that networking also had problems since default networking type isn't supported.  There's a list of APIs support and which work under Xen. virt-manager is a good one to test, but it exposes too many options (e.g. Spice on qemu) which wont work on Xen.  It needs the ability to query the driver capabilities and make the GUI sensible.

Error handling is variable -- some come from the underlying driver, some use the structured reporting mechanism. libvirt doesnt have enough structure available though, and Dan notes that it's difficult to figure out where errors are coming from.  General agreement that the reporting isn't satisfactory at the moment and needs to be improved.  JohnG asks what the plan to fix it is:

Who is responsible for packaging end-to-end?  Fedora generally has the best support (Dario uses it).  CentOS needs work (George to lead discussion tomorrow).

Dario points out manpower working on libxl driver is a problem.  The matrix on the libvirt is useful, but its hard to map it to concrete patches. IanJ suggests improving the capability support in libvirt so you dont have to attempt an API call before you know it'll work or not.   Daniel says that host capability can do some of that, but it's not complete.  A side project to libvirt is libosinfo, which attempts to query the host and build a database of information like list of guest OS, hypervisors, and which works on what.

guest agents: outside the scope of libvirt.  One useful guest agent is the Spice qemu support in libvirt.

JohnG: what's the adoption level on the libosinfo?  Daniel: it's used in an application called Gnome boxes (the gnome virt box) and also into virt-manager, and the long term goal is to integrate into OpenStack. We would like to walk up to an OpenStack cloud and have it match the guest OS and hypervisor.




[-- Attachment #1.2: Type: text/html, Size: 6473 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

       reply	other threads:[~2014-06-02 14:19 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <379133F4-ABF0-4D35-B90F-AE53D8CD1CAA@recoil.org>
2014-06-02 14:19 ` George Dunlap [this message]
2014-06-03  9:41 [Hackathon] libvirt session notes Lars Kurth
2014-06-03 10:41 ` Fabio Fantoni
2014-06-03 12:08   ` George Dunlap
2014-06-05 17:41     ` Jim Fehlig

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=538C87DB.3070204@eu.citrix.com \
    --to=george.dunlap@eu.citrix.com \
    --cc=xen-devel@lists.xen.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).