Hi,
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:
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?
--
Christian Ehrhardt
Software Engineer, Ubuntu Server
Canonical Ltd