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