On Wed, Jan 12, 2011 at 03:51:04PM -0700, Eric Blake wrote:
[adding Richard Jones, as he is more familiar with OS inspection]
On 01/12/2011 03:29 PM, Matthias Bolte wrote:
>
> One thing I wonder about is, where to get the list of possible values
> for the guest OS type and variation from? Do we use what
> virt-install/virt-manager currently use and map that onto the fixed
> guest OS types (and variations) that VMware and VirtualBox understand
> in the ESX/VMware and VirtualBox driver? Or do we expose the list of
> possible values in driver capabilities? Or ...
I imagine it should either be via some sort of .xml file (similar to
libvirt's cpu_map.xml used for determining valid cpu models), or via
linking in a common shared library that can share the work among
multiple clients. IIRC, there is work under way to provide a library to
standardize on detection and description of various operating systems
installed in a guest, but I cannot seem to quickly find a reference to
such a library at the moment.
The library is libosinfo:
https://fedorahosted.org/libosinfo/
http://git.fedorahosted.org/git/?p=libosinfo.git;a=summary
Despite patchy development efforts by several people, it hasn't really
gained much traction. I'm not even sure if we are using it in libvirt
or virt-manager which was the original intent.
For virt-inspector we classify OSes very simply using two text
strings:
http://libguestfs.org/virt-inspector.1.html#_operatingsystem_
<name> (which corresponds to
http://libguestfs.org/guestfs.3.html#guestfs_inspect_get_type in the
API) is "linux" or "windows".
<distro> (
http://libguestfs.org/guestfs.3.html#guestfs_inspect_get_distro)
is one of a small set of distro strings.
I don't know the best way to do what you want, but I will say there
are many different aspects to inspection, and one size won't fit all.
For example:
- OS type
- OS distro
- installer location
- how to download and install
- preferred devices to expose to a new installation
- does it support virtio?
- what applications are installed in a particular instance?
- what device drivers are installed in a particular instance?
- licensing requirements
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages.
http://et.redhat.com/~rjones/libguestfs/
See what it can do:
http://et.redhat.com/~rjones/libguestfs/recipes.html