Open roumano opened 4 years ago
I am having this exact problem. The volume definition seems fine, but libvirt is not creating apparmor rules to access the device file, it seems it is only done when the device file is specified in the XML (instead of using pool+name)
I've failed to use this roles with lvm (at least on debian 10)
Error
if data to created VM is :
The role is crashing with this error
Debugging
virsh dumpxml <nodename>
give me :virsh edit <node>
<disk type='volume' device='disk'>
with<disk type='block' device='disk'>
<source pool='lvm_pool' volume='ns3'/>
with<source dev='/dev/lvm_pool/ns3'/>
It's now can boot
Change need
To permit these two line change (done on
virsh edit
) via ansible and your role :Need to add this in the template
vm.xml.j2
:Need to change type from
volume
toblock
, so my variable will be :As it's now a
block
volume, the tasksEnsure the VM volumes exist
will be skipped (due to when condition) So needed to updatevolumes.yml
condition (line 30)from :
when: item.type | default(libvirt_volume_default_type) == 'volume'
to :when: item.type | default(libvirt_volume_default_type) == 'volume' or ( item.type | default(libvirt_volume_default_type) == 'block' and item.pool is defined )