summaryrefslogtreecommitdiff
path: root/roles/storage/zfs/device/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/storage/zfs/device/tasks/main.yml')
-rw-r--r--roles/storage/zfs/device/tasks/main.yml14
1 files changed, 14 insertions, 0 deletions
diff --git a/roles/storage/zfs/device/tasks/main.yml b/roles/storage/zfs/device/tasks/main.yml
new file mode 100644
index 00000000..1204da02
--- /dev/null
+++ b/roles/storage/zfs/device/tasks/main.yml
@@ -0,0 +1,14 @@
+---
+- name: compute full zfs device path
+ set_fact:
+ zfs_device_path_full: "{{ ('parent' in zfs_device) | ternary((zfs_device.parent.pool | default(''))~'/'~(zfs_device.parent.name | default('')), zfs_device.pool) }}/{{ zfs_device.name }}"
+
+- name: create zfs volume
+ zfs:
+ name: "{{ zfs_device_path_full }}"
+ extra_zfs_properties: "{{ zfs_device.properties | default({}) | combine({'volsize': zfs_device.size}) | dehumanize_zfs_properties }}"
+ state: present
+
+- name: export device path
+ set_fact:
+ storage_device_path: "/dev/zvol/{{ zfs_device_path_full }}"