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'/>
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
Which fails to verify like:
Interestingly the same is not true for KVM, there the section is as it was in the past which made it more likely the post-parse step might be involved.
Also rather expected, if one adds a full <driver name='qemu' type='raw'/> in the XML libvirt doesn't have to provide (broken) defaults and things work as they should - yet from a user with formerly working XMLs or using virt-manager this is a regression.
I have beg your pardon I seem to not be experienced enough on this part of libvirt to provide a valid fix - I tried but nothing good came out so far. For now I reverted 321a28c6 which also affects a test later added by 4cd3f241. With those changes it will not add anything which lets us start Xen VMs for now, but it clearly isn't a solution.
I wanted to ask you if you could take a look into this?
Software Engineer, Ubuntu Server