[Libvir] [RFC] Host and guest capabilities

Daniel Veillard veillard at redhat.com
Wed Mar 7 14:35:58 UTC 2007

On Wed, Mar 07, 2007 at 12:35:20PM +0000, Richard W.M. Jones wrote:
> I've been looking into the parts of virtinst which try to probe the 
> capabilities of the host directly, rather than being abstracted through 
> libvirt (for example, opening and parsing 
> /sys/hypervisor/properties/capabilities directly).
> Attached is a proposed API for probing the capabilities and supported 
> guest architectures of the hypervisor / driver.
> I've implemented the virCapabilities part already.  My original 
> implementation of the guest architectures had virCapabilities containing 
> a list of supported architectures, but that doesn't nearly cover the 
> richness of what the underlying drivers could support, so I'm currently 
> separating that out into a separate virConnectGetGuestArchitectures call.
> Let me know your opinions of this API.

  This sounds too variable, adding an entry point per capability of
some of the hypervisor available will lead to just too many entry points
once the set of virtualization engines and associated benefits increase.
That's one of the places where I feel wy more comfortable returning an
XML description which can then be augmented as more features are added.

> As an aside, the current virt-manager "choose paravirt / fullvirt" 
> screen doesn't really capture the full, shall I say, ugliness of the 
> possible choices for architecture, particularly when we add qemu, kqemu, 
> and emulation in the mix.  I suspect that presenting a list of 
> architectures here, perhaps with some options to show only paravirt, 
> show only fullvirt, show only accelerated ...

  I'm not sure we should directly add something like the Architectures 
to the API (I mean the structure), it's very hard to guess now if we know
all the informations which would be useful to return, and again, I would
feel way better if this was provided as an XML blob, possibly embedded in
the host capacities one.

  Basically just turning the current virtinst lookups into libvirt APIs
sounds a bit premature to me, I would prefer something more versatile and
hence future-proof.


Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard      | virtualization library  http://libvirt.org/
veillard at redhat.com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine  http://rpmfind.net/

More information about the libvir-list mailing list