startupPolicy issue when changing CD

Peter Krempa pkrempa at redhat.com
Fri Sep 10 13:12:07 UTC 2021


On Fri, Sep 10, 2021 at 14:53:23 +0200, Vojtech Juranek wrote:
> Hi,
> when adding support for CD disk on block based storage into oVirt, 
> I spotted following issue. When starting VM without CD, we add 
> startupPolicy='optional' attribute into <source> element. 
> Whole XML looks like this:
> 
>     <disk type='file' device='cdrom'>
>       <driver name='qemu' error_policy='report'/>
>       <source startupPolicy='optional'/>
>       <target dev='sdc' bus='sata'/>
>       <readonly/>
>       <alias name='ua-d7003457-63c3-4c98-80f0-08ab5042c65e'/>
>       <address type='drive' controller='0' bus='0' target='0' unit='2'/>
>     </disk>
> 
> To change/insert CD we use libvirt.updateDeviceFlags() with XML which 
> looks like this (for block based disk):
> 
> <?xml version='1.0' encoding='utf-8'?>
> <disk device="cdrom" type="block">
>     <source dev="/rhev/data-center/mnt/blockSD/cdac2a0c-b110-456d-a988-7d588626c871/images/638247d7-b4b1-4d98-87fa-c90235fcf4b1/145e7cd2-f92d-4eec-a8fb-6835b4b652e1" />
>     <target bus="sata" dev="sdc" />
> </disk>
> 
> However, updateDeviceFlags() fails with 
> 
>     libvirt.libvirtError: XML error: 'startupPolicy' is only valid for 'file' type volume
> 
> What is the reason for this error? We don't use `startupPolicy` attribute for block
> based disks, as shown on example above.

Hmm, the bug is that the disk source change is attempted before the
update to startup policy, thus the validator is unhappy.




More information about the libvirt-users mailing list