
On 07/11/2017 08:15 AM, Christian Ehrhardt wrote:
Hi,
Hi, Thanks for the report and sorry for delayed response. I'm slowly catching up on libvirt mail after being away for a while...
we have found an issue caused by 321a28c6 "libxl: set default disk format in device post-parse" (and maybe more changes I couldn't identify yet).
TL;DR: The auto-added driver section in xen changed and now causes issues.
An example to to trigger: 1. Create a XEN xml with a disk device of type cdrom, but do not add a driver section, like. <disk type='file' device='cdrom'> <target dev='hdb' bus='ide'/> <readonly/> </disk> 2. on virsh define if that XML 2b. You could also "virsh edit" any working xml file, remove the <driver../> which will trigger the same 2c. You could also define via virt-manager as it does not explicitly specify the device section
What happens is that before the changes this auto-added a driver section like: <driver name='qemu' type='raw'/> But now it does only add <driver type='raw'/> Which fails to verify like:
I think you forgot to paste the example here, but I assume it is something like # virt-xml-validate test.xml Relax-NG validity error : Extra element devices in interleave test.xml:21: element devices: Relax-NG validity error : Element domain failed to validate content test.xml fails to validate where test.xml contains disk config <disk type='file' device='cdrom'> <driver type='raw'/> <target dev='hdb' bus='ide'/> <readonly/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> It is not clear to me if 'name' is a required attribute of <disk>. The doc says "If the hypervisor supports multiple backend drivers, then the name attribute selects the primary backend driver name". It doesn't mention "required" or "mandatory". We'd have a schema bug if 'name' is optional. I guess it is a good question for danpb. Dan, is disk/driver/@name a required attribute? Regards, Jim