On Wed, Jan 10, 2007 at 05:39:45AM -0500, Daniel Veillard wrote: > As hinted previously in the QEmu thread, I developped a Relax-NG schemas to > check the XML instances used to define Domains in libvirt. It's in CVS > in the docs directory and also available online at > http://libvirt.org/libvirt.rng > > For those not familiar with Relax-NG there is a nice tutorial and docs at > http://relaxng.org/ > > Still despite the limitations I found 2 weirdness: > > - we allow both <os> and <bootloader> blocks to be present, but I think they > are redundant, I remember that Xen will ignore the bootloader informations > if the os description is there, shouldn't we ban having both in a domain > description ? e.g. tests/sexpr2xmldata/sexpr2xml-curmem.xml in the tree > I still allowed this in the schemas but this may be wrong. There is one further complication with the <os> block - currently you have two sets of definitions - one showing the Xen paravirt style config of an explicit kernel, initrd & cmdline; the other showing HVM style of a boot device & a loader. Well QEMU fully-virt guests can actually work with either a boot device, or an explicit kernel & initrd. So I think we need to combine the two for QEMU / KVM guests at least. > - I though an interface of type ethernet needed a source description, > but the output tests/sexpr2xmldata/sexpr2xml-net-routed.xml seems to miss > both the source and target of the interface though the device is > present in tests/sexpr2xmldata/sexpr2xml-net-routed.sexpr as (dev 'eth3') > this probably indicates our conversion from sexpr to xml is lossy there. Yeah, I might well have made a mistake in there. I'll check up on it. The rest of it all looks very good & accurate wrt what we intend to allow in the XML file. Regards, Dan. -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|