summaryrefslogtreecommitdiff
path: root/roles/zfs/base
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2019-10-10 21:47:17 +0200
committerChristian Pointner <equinox@spreadspace.org>2019-10-10 21:47:17 +0200
commitd0c37df615274cdbe44d634615e198253407128f (patch)
tree79dd4463c8403c4e109cba9a72dc86aa126fa4c2 /roles/zfs/base
parentdocker: refactor lvm handling (diff)
zfs: refactor zpool config
Diffstat (limited to 'roles/zfs/base')
-rw-r--r--roles/zfs/base/defaults/main.yml13
-rw-r--r--roles/zfs/base/tasks/main.yml9
2 files changed, 16 insertions, 6 deletions
diff --git a/roles/zfs/base/defaults/main.yml b/roles/zfs/base/defaults/main.yml
index 06218f6b..f3dfbce9 100644
--- a/roles/zfs/base/defaults/main.yml
+++ b/roles/zfs/base/defaults/main.yml
@@ -2,9 +2,16 @@
zfs_zpool_properties:
ashift: 12
-# zfs_zpool_name: storage
-# zfs_zpool_mountpoint: /srv/storage
-# zfs_zpool_create_vdevs: mirror sda sdb mirror sdc sdd log mirror nvme0n1p3 nvme1n1p3 cache nvme0n1p4 nvme1n1p4
+# zfs_zpools:
+# storage:
+# mountpoint: /srv/storage
+# create_vdevs: mirror sda sdb mirror sdc sdd log mirror nvme0n1p3 nvme1n1p3 cache nvme0n1p4 nvme1n1p4
+# test:
+# mountpoint: /srv/storage
+# create_vdevs: raidz sda sdb sdc sdd
+# properties:
+# ashift: 12
+# prop: value
#zfs_arc_size:
# min: {{ 2 * 1024 * 1024 * 1024 }}
diff --git a/roles/zfs/base/tasks/main.yml b/roles/zfs/base/tasks/main.yml
index 3f1e8416..0a968235 100644
--- a/roles/zfs/base/tasks/main.yml
+++ b/roles/zfs/base/tasks/main.yml
@@ -35,7 +35,10 @@
name: zfsutils-linux
state: present
-- name: create zpool
- command: "zpool create -m {{ zfs_zpool_mountpoint }} {% for prop, value in zfs_zpool_properties.items() %}-o {{ prop }}={{ value }} {% endfor %}{{ zfs_zpool_name }} {{ zfs_zpool_create_vdevs }}"
+- name: create zpools
+ loop: "{{ zfs_zpools | dict2items }}"
+ loop_control:
+ label: "{{ item.key }}"
+ command: "zpool create -m {{ item.value.mountpoint }} {% for prop, value in (item.value.properties | default(zfs_zpool_properties)).items() %}-o {{ prop }}={{ value }} {% endfor %}{{ item.key }} {{ item.value.create_vdevs }}"
args:
- creates: "{{ zfs_zpool_mountpoint }}"
+ creates: "{{ item.value.mountpoint }}"