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