[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Libguestfs] [PATCH] Differentiate 'distro' and 'distrofamily' in Sys::Guestfs::Lib

On Fri, Jul 17, 2009 at 12:06:31PM +0100, Matthew Booth wrote:
> On 17/07/09 11:21, Daniel P. Berrange wrote:
> >IMHO doing this is a big mistake. This is what we did for virt-install
> >and hugely regret it. Things just don't fall into a nice hierarchy. We
> >are now looking at doing a flat list of distros + tagging/categorization
> >relationships to be defined.
> >
> >  http://www.redhat.com/archives/et-mgmt-tools/2009-June/msg00018.html
> Thanks, Dan.
> What problems did you hit? I'm inclined to think I might get away with 
> it for virt-v2v because we also have so much other additional info about 
> the system. So far, 'redhat' pretty much means it uses rpm rather than 
> anything else.

A hierarchy was insufficiently flexible. eg, you can't represent fact
that CentOS and RHEL are essentially identical. Can't represent that
RHEL-5.3 has VirtIO, but RHEL-5.2 does not. Can't represent the idea
of one distro being a newer version of another. THe core problem is
that different pieces of information you care about imply different
types of hierarchy or relationship, to the extent that you cannot have
a single hierarchy that works. The only conclusion I could come to is
that hiearchies are fundamentally  the wrong approach, and that a flat
list of distros + metadata tagging/categorization was what we needed.
You can of course later construct arbitrary hierarchies at a UI level
from the metadata.

> Are you actually doing OS detection, or is this just for filling in 
> distro-specific defaults? What sort of data do you have on individual 
> distros?

We detect the OS type from the install media using a variety of 
heuristics. eg, looking for $URL/.treeinfo to identify Fedora 
distros.  Once we've determined the distro, we lookup various
bits of device info in the OS dictionary such as whether to
use virtio, enable ACPI/APIC, whether it can do Xen paravirt
CDROM device, the type of mouse to configure, preferred clock
sync mode, etc, etc

|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]