summaryrefslogtreecommitdiff
path: root/roles/vm/define/templates/libvirt-domain.xml.j2
diff options
context:
space:
mode:
Diffstat (limited to 'roles/vm/define/templates/libvirt-domain.xml.j2')
-rw-r--r--roles/vm/define/templates/libvirt-domain.xml.j216
1 files changed, 12 insertions, 4 deletions
diff --git a/roles/vm/define/templates/libvirt-domain.xml.j2 b/roles/vm/define/templates/libvirt-domain.xml.j2
index 60027205..59037fd9 100644
--- a/roles/vm/define/templates/libvirt-domain.xml.j2
+++ b/roles/vm/define/templates/libvirt-domain.xml.j2
@@ -36,10 +36,14 @@
</rng>
{% if 'virtio' in hostvars[hostname].install_cooked.disks %}
-{% for device, lv in hostvars[hostname].install_cooked.disks.virtio.items() %}
+{% for device, src in hostvars[hostname].install_cooked.disks.virtio.items() %}
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' discard='unmap'/>
- <source dev='/dev/mapper/{{ lv.vg | replace('-', '--') }}-{{ lv.lv | replace('-', '--') }}'/>
+{% if src.type == 'lvm' %}
+ <source dev='/dev/mapper/{{ src.vg | replace('-', '--') }}-{{ src.lv | replace('-', '--') }}'/>
+{% elif src.type == 'zfs' %}
+ <source dev='/dev/zvol/{{ srv.pool }}/{{ srv.name }}'/>
+{% endif %}
<target dev='{{ device }}' bus='virtio'/>
</disk>
{% endfor %}
@@ -47,10 +51,14 @@
{% if 'scsi' in hostvars[hostname].install_cooked.disks %}
<controller type='scsi' index='0' model='virtio-scsi'/>
-{% for device, lv in hostvars[hostname].install_cooked.disks.scsi.items() %}
+{% for device, src in hostvars[hostname].install_cooked.disks.scsi.items() %}
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' discard='unmap'/>
- <source dev='/dev/mapper/{{ lv.vg | replace('-', '--') }}-{{ lv.lv | replace('-', '--') }}'/>
+{% if src.type == 'lvm' %}
+ <source dev='/dev/mapper/{{ src.vg | replace('-', '--') }}-{{ src.lv | replace('-', '--') }}'/>
+{% elif src.type == 'zfs' %}
+ <source dev='/dev/zvol/{{ srv.pool }}/{{ srv.name }}'/>
+{% endif %}
<target dev='{{ device }}' bus='scsi'/>
</disk>
{% endfor %}