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 Daniel -- |: 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 :|