diff options
author | Christian Pointner <equinox@spreadspace.org> | 2019-09-09 21:53:08 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2019-09-09 21:53:08 +0200 |
commit | f41199feae553f0d2269f507382a82470277c8ae (patch) | |
tree | e09934c5ec08f3ad836b47398c86d1e85057d8da | |
parent | added admin-user role to mimas (diff) |
added zfs role
-rw-r--r-- | dan/sk-2019vm.yml | 1 | ||||
-rw-r--r-- | dan/sk-cloudia.yml | 1 | ||||
-rw-r--r-- | roles/prepare-dkms/tasks/default.yml | 10 | ||||
-rw-r--r-- | roles/prepare-dkms/tasks/main.yml | 6 | ||||
-rw-r--r-- | roles/prepare-dkms/vars/Debian.yml | 2 | ||||
-rw-r--r-- | roles/prepare-dkms/vars/Ubuntu.yml | 2 | ||||
-rw-r--r-- | roles/zfs/meta/main.yml | 3 | ||||
-rw-r--r-- | roles/zfs/tasks/main.yml | 26 |
8 files changed, 48 insertions, 3 deletions
diff --git a/dan/sk-2019vm.yml b/dan/sk-2019vm.yml index 10a633b0..6c2b1448 100644 --- a/dan/sk-2019vm.yml +++ b/dan/sk-2019vm.yml @@ -5,3 +5,4 @@ - role: base - role: sshd - role: zsh + - role: zfs diff --git a/dan/sk-cloudia.yml b/dan/sk-cloudia.yml index 6d22afed..dca8b9f8 100644 --- a/dan/sk-cloudia.yml +++ b/dan/sk-cloudia.yml @@ -5,3 +5,4 @@ - role: base - role: sshd - role: zsh + - role: zfs diff --git a/roles/prepare-dkms/tasks/default.yml b/roles/prepare-dkms/tasks/default.yml index 638b81f0..84ab3624 100644 --- a/roles/prepare-dkms/tasks/default.yml +++ b/roles/prepare-dkms/tasks/default.yml @@ -1,7 +1,15 @@ --- +- name: load distrubtion specific variables + include_vars: "{{ item }}" + with_first_found: + - files: + - "{{ ansible_distribution_release }}.yml" + - "{{ ansible_distribution }}.yml" + skip: true + - name: install kernel headers and dkms apt: name: - - linux-headers-amd64 # TODO: fix this so it works for ubuntu(hwe) and debian + - "{{ dkms_linux_header_pkgname }}" - dkms state: present diff --git a/roles/prepare-dkms/tasks/main.yml b/roles/prepare-dkms/tasks/main.yml index 94f47c31..23533345 100644 --- a/roles/prepare-dkms/tasks/main.yml +++ b/roles/prepare-dkms/tasks/main.yml @@ -5,8 +5,10 @@ - name: prepare dkms on for raspberry-pi include_tasks: raspberrypi.yml - when: "ansible_lsb.id == 'Raspbian'" + when: "('id' in ansible_lsb and ansible_lsb.id == 'Raspbian')" - name: prepare dkms on normal debian boxes include_tasks: default.yml - when: "'scaleway-kernel' not in group_names and ansible_lsb.id != 'Raspbian'" + when: + - "'scaleway-kernel' not in group_names" + - "('id' not in ansible_lsb or ansible_lsb.id != 'Raspbian')" diff --git a/roles/prepare-dkms/vars/Debian.yml b/roles/prepare-dkms/vars/Debian.yml new file mode 100644 index 00000000..108306c6 --- /dev/null +++ b/roles/prepare-dkms/vars/Debian.yml @@ -0,0 +1,2 @@ +--- +dkms_linux_header_pkgname: linux-image-amd64 diff --git a/roles/prepare-dkms/vars/Ubuntu.yml b/roles/prepare-dkms/vars/Ubuntu.yml new file mode 100644 index 00000000..a848f713 --- /dev/null +++ b/roles/prepare-dkms/vars/Ubuntu.yml @@ -0,0 +1,2 @@ +--- +dkms_linux_header_pkgname: linux-headers-generic diff --git a/roles/zfs/meta/main.yml b/roles/zfs/meta/main.yml new file mode 100644 index 00000000..300d0ccf --- /dev/null +++ b/roles/zfs/meta/main.yml @@ -0,0 +1,3 @@ +--- +dependencies: +- role: prepare-dkms diff --git a/roles/zfs/tasks/main.yml b/roles/zfs/tasks/main.yml new file mode 100644 index 00000000..478a25dd --- /dev/null +++ b/roles/zfs/tasks/main.yml @@ -0,0 +1,26 @@ +--- +## TODO: @debian: make sure contrib repo is added + +- name: install zfs packages + apt: + name: + - zfs-dkms + - zfsutils-linux + 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: check again if module is available for the currently running kernel + when: zfs_module_available.rc != 0 + command: modprobe --dry-run zfs + check_mode: no + changed_when: false |