diff options
author | Christian Pointner <equinox@spreadspace.org> | 2024-01-20 22:42:30 +0100 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2024-01-20 22:42:30 +0100 |
commit | ba2ab1cb42db29c8287c65a3f1e0b646eeba0464 (patch) | |
tree | 73a496d6b03085de2aa8dfe22ca201ff0354ba07 /roles/storage/zfs/device | |
parent | apps/storage: test with zfs volumes (diff) |
add storage_device roles
Diffstat (limited to 'roles/storage/zfs/device')
-rw-r--r-- | roles/storage/zfs/device/defaults/main.yml | 11 | ||||
-rw-r--r-- | roles/storage/zfs/device/tasks/main.yml | 14 |
2 files changed, 25 insertions, 0 deletions
diff --git a/roles/storage/zfs/device/defaults/main.yml b/roles/storage/zfs/device/defaults/main.yml new file mode 100644 index 00000000..175136eb --- /dev/null +++ b/roles/storage/zfs/device/defaults/main.yml @@ -0,0 +1,11 @@ +--- +# zfs_device: +# parent: +# ... +# pool: tank +# name: bar +# size: 10g +# properties: +# ... + +zfs_device: "{{ storage_device }}" 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 }}" |