summaryrefslogtreecommitdiff
path: root/roles/zfs/base/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/zfs/base/tasks/main.yml')
-rw-r--r--roles/zfs/base/tasks/main.yml33
1 files changed, 33 insertions, 0 deletions
diff --git a/roles/zfs/base/tasks/main.yml b/roles/zfs/base/tasks/main.yml
new file mode 100644
index 00000000..cddfbb09
--- /dev/null
+++ b/roles/zfs/base/tasks/main.yml
@@ -0,0 +1,33 @@
+---
+## TODO: @debian: make sure contrib repo is added
+
+- name: install zfs packages
+ apt:
+ name: zfs-dkms
+ state: present
+
+- name: check if module is available for the currently running kernel
+ command: modprobe --dry-run zfs
+ check_mode: no
+ register: zfs_module_available
+ failed_when: false
+ changed_when: false
+
+- name: rebuild zfs module
+ when: zfs_module_available.rc != 0
+ command: dpkg-reconfigure zfs-dkms
+
+- name: load zfs kernel module
+ modprobe:
+ name: zfs
+ state: present
+
+- name: install zfs file system utilities
+ apt:
+ 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 }}"
+ args:
+ creates: "{{ zfs_zpool_mountpoint }}"