diff options
Diffstat (limited to 'roles')
-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 |
6 files changed, 46 insertions, 3 deletions
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 |