[libvirt] Questions about the schemas

Gene Czarcinski gene at czarc.net
Mon Feb 18 13:54:35 UTC 2013


This is not in any way critical but simply trying to get a better idea 
of the purposes of docs/schemas/*

I recently submitted a patch which needed me to look at and modify some 
of the schema files [adding a client-id specification to dhcp/host].  As 
I looked them over I wondered what the purpose was of the schemas.  If 
you ran virt-xml-validate (which uses xmllint) and the result is that 
your file is not validated, then there is a problem but it is not clear 
just what the problem is.  On the other hand, if you run 
virt-xml-validate and it says the your file is OK (validated), that only 
means that it did not find a problem but not that the file is OK.

For example, the schema says it is valid to specify an IPv6 address in 
an IPv4 definition.  The implementing software if kick it out but the 
schema says it is OK.

Another example is the (host) name under the dhcp/host definition. The 
current schema says this is required but dnsmasq does not require a 
host-name specification [I submitted a trivial patch to make it optional].

So, if the purpose is to kick out obvious errors, this it is OK as is.  
If the purpose to to be definitiive, then more work needs to be done.

My opinion is that the current situation is "good enough" as long as 
valid elements/specifications are not treated as errors.

Gene




More information about the libvir-list mailing list