summaryrefslogtreecommitdiff
path: root/roles/storage/zfs/pools/tasks/enable-systemd-mount-generator.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/storage/zfs/pools/tasks/enable-systemd-mount-generator.yml')
-rw-r--r--roles/storage/zfs/pools/tasks/enable-systemd-mount-generator.yml31
1 files changed, 31 insertions, 0 deletions
diff --git a/roles/storage/zfs/pools/tasks/enable-systemd-mount-generator.yml b/roles/storage/zfs/pools/tasks/enable-systemd-mount-generator.yml
new file mode 100644
index 00000000..eaa3cebe
--- /dev/null
+++ b/roles/storage/zfs/pools/tasks/enable-systemd-mount-generator.yml
@@ -0,0 +1,31 @@
+---
+- name: enable zfs-list-cacher zlet
+ file:
+ src: /usr/lib/zfs-linux/zed.d/history_event-zfs-list-cacher.sh
+ dest: /etc/zfs/zed.d/history_event-zfs-list-cacher.sh
+ state: link
+
+- name: create base-directory for zfs-list.cache
+ file:
+ path: /etc/zfs/zfs-list.cache/
+ state: directory
+
+- name: create zfs-list.cache file for all pools
+ loop: "{{ zfs_pools | dict2items }}"
+ loop_control:
+ label: "{{ item.key }}"
+ copy:
+ content: ""
+ dest: "/etc/zfs/zfs-list.cache/{{ item.key }}"
+ force: no
+
+## TODO: if this is installed after the zpool has already been created zed needs to be triggered
+## using someing like: zfs set canmount=on DATASET
+
+### HACK HACK HACK (see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=966565)
+- name: patch zfs mount generator (Debian Bug 966565)
+ when: ansible_distribution == 'Debian'
+ lineinfile:
+ path: /usr/lib/systemd/system-generators/zfs-mount-generator
+ regexp: '^pools=\$\(zpool list -H -o name\)$'
+ line: "pools=$(zpool list -H -o name || true)"