--- - ansible.builtin.include_vars: file: zfs.yml name: _zfs - name: RedHat based configuration when: ansible_os_family == 'RedHat' block: - ansible.builtin.set_fact: rhname: "{%if ansible_distribution == 'Fedora' %}fedora{% else %}epel{% endif %}" - ansible.builtin.command: cmd: rpm --eval "%{dist}" register: rpm_dist - name: add openzfs gpg_key ansible.builtin.rpm_key: key: "{{ _zfs.gpg_key }}" fingerprint: "{{ _zfs.gpg_key_fingerprint }}" state: present become: true tags: - packages - RedHat - name: enable openzfs repository ansible.builtin.dnf: name: "{{ _zfs.repo_base }}{{ rhname }}/zfs-release-{{ _zfs[rhname].release }}{{ rpm_dist.stdout }}.noarch.rpm" state: "{{ install_state }}" become: true tags: - packages - RedHat - name: install zfs deps ansible.builtin.dnf: name: "{{ _zfs[ansible_os_family].deppkgs }}" state: "{{ install_state }}" become: true - name: Debian configuration when: ansible_os_family == 'Debian' block: - name: enable openzfs repository become: true ansible.builtin.apt_repository: repo: | deb http://deb.debian.org/debian {{ ansible_distribution_release }}-backports main contrib deb-src http://deb.debian.org/debian {{ ansible_distribution_release }}-backports main contrib filename: "{{ ansible_distribution_release }}-backports" state: present update_cache: false - name: pin zfs package to backports become: true ansible.builtin.file: content: | Package: src:zfs-linux Pin: release n={{ ansible_distribution_release }}-backports Pin-Priority: 990 dest: /etc/apt/preferences.d/90_zfs state: present - name: install zfs deps become: true ansible.builtin.apt: name: "{{ _zfs[ansible_os_family].deppkgs }}" state: "{{ install_state }}" - name: append to pkgs set_fact: syspkgs: "{{ syspkgs + _zfs[ansible_os_family].pkgs }}" become: true tags: - RedHat - packages