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.
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 ...
Rich.
--
Emerging Technologies, Red Hat
http://et.redhat.com/~rjones/
64 Baker Street, London, W1U 7DF Mobile: +44 7866 314 421
"[Negative numbers] darken the very whole doctrines of the equations
and make dark of the things which are in their nature excessively
obvious and simple" (Francis Maseres FRS, mathematician, 1759)