summaryrefslogtreecommitdiff
path: root/roles/vm
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2022-01-01 02:23:13 +0100
committerChristian Pointner <equinox@spreadspace.org>2022-01-01 02:23:13 +0100
commit68684135c9e99d8b60369b7ef244b01cc9de874a (patch)
tree57ff699929ada1d1999deef76733fcfdb4dbe4f3 /roles/vm
parentch-phoebe: add address of first 1-wire temp sensor (diff)
vm/guest/define: harmonize disk config
Diffstat (limited to 'roles/vm')
-rw-r--r--roles/vm/guest/define/templates/libvirt-domain.xml.j238
1 files changed, 13 insertions, 25 deletions
diff --git a/roles/vm/guest/define/templates/libvirt-domain.xml.j2 b/roles/vm/guest/define/templates/libvirt-domain.xml.j2
index e526d38d..2287dd0b 100644
--- a/roles/vm/guest/define/templates/libvirt-domain.xml.j2
+++ b/roles/vm/guest/define/templates/libvirt-domain.xml.j2
@@ -50,39 +50,27 @@
</disk>
{% endif %}
-{% if 'virtio' in install_cooked.disks %}
-{% for device, src in install_cooked.disks.virtio.items() %}
- <disk type='block' device='disk'>
- <driver name='qemu' type='raw' cache='none' discard='unmap'/>
-{% if src.type == 'lvm' %}
- <source dev='/dev/mapper/{{ src.vg | replace('-', '--') }}-{{ src.lv | replace('-', '--') }}'/>
-{% elif src.type == 'zfs' %}
- <source dev='/dev/zvol/{{ vm_host_cooked.zfs[src.backend | default('default')].pool }}/{{ vm_host_cooked.zfs[src.backend | default('default')].name }}/{{ inventory_hostname }}/{{ src.name }}'/>
-{% elif src.type == 'blockdev' %}
- <source dev='{{ src.path }}'/>
-{% endif %}
- <target dev='{{ device }}' bus='virtio'/>
- </disk>
-{% endfor %}
-{% endif %}
-
-{% if 'scsi' in install_cooked.disks %}
+{% if install_cooked.disks %}
+{% if 'scsi' in install_cooked.disks %}
<controller type='scsi' index='0' model='virtio-scsi'/>
-{% for device, src in install_cooked.disks.scsi.items() %}
+{% endif %}
+{% for bus in ['virtio', 'scsi'] %}
+{% for device, src in (install_cooked.disks[bus] | default({})).items() %}
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' discard='unmap'/>
-{% if src.type == 'lvm' %}
+{% if src.type == 'lvm' %}
<source dev='/dev/mapper/{{ src.vg | replace('-', '--') }}-{{ src.lv | replace('-', '--') }}'/>
-{% elif src.type == 'zfs' %}
+{% elif src.type == 'zfs' %}
<source dev='/dev/zvol/{{ vm_host_cooked.zfs[src.backend | default('default')].pool }}/{{ vm_host_cooked.zfs[src.backend | default('default')].name }}/{{ inventory_hostname }}/{{ src.name }}'/>
-{% elif src.type == 'blockdev' %}
+{% elif src.type == 'blockdev' %}
<source dev='{{ src.path }}'/>
-{% endif %}
- <target dev='{{ device }}' bus='scsi'/>
+{% endif %}
+ <target dev='{{ device }}' bus='{{ bus }}'/>
</disk>
+{% endfor %}
{% endfor %}
-{% endif %}
+{% endif %}
{% if install_cooked.interfaces %}
{% for if in install_cooked.interfaces %}
<interface type='bridge'>
@@ -94,8 +82,8 @@
<address type='pci' domain='0x0000' bus='0x{{ "%02x" | format(loop.index0 + 16) }}' slot='0x00' function='0x0'/>
</interface>
{% endfor %}
-{% endif %}
+{% endif %}
<serial type='pty'>
<target port='0'/>
</serial>