
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 -=|