From d0c37df615274cdbe44d634615e198253407128f Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Thu, 10 Oct 2019 21:47:17 +0200 Subject: zfs: refactor zpool config --- roles/zfs/base/defaults/main.yml | 13 ++++++++++--- roles/zfs/base/tasks/main.yml | 9 ++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) (limited to 'roles') 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 }}" -- cgit v1.2.3