# vim: set filetype=yaml.ansible : --- - name: Linux based installation block: - name: RedHat based configuration 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: "{{ pkgconfig.zfs.gpg_key }}" fingerprint: "{{ pkgconfig.zfs.gpg_key_fingerprint }}" state: present become: true - name: enable openzfs repository ansible.builtin.dnf: name: "{{ pkgconfig.zfs.repo_base }}{{ rhname }}/zfs-release-{{ pkgconfig.zfs[rhname].release }}{{ rpm_dist.stdout }}.noarch.rpm" state: "{{ install_state }}" become: true - name: install zfs deps ansible.builtin.set_fact: syspkgs: "{{ pkgconfig.zfs.deps[ansible_os_family] }}" when: ansible_os_family == 'RedHat' - name: Debian configuration when: ansible_os_family == 'Debian' block: - name: enable openzfs repository 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 become: true - name: pin zfs package to backports 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 become: true - name: install zfs deps ansible.builtin.set_fact: syspkgs: "{{ pkgconfig.zfs.deps[ansible_os_family] }}" become: true - name: append to pkgs ansible.builtin.set_fact: syspkgs: "{{ syspkgs + pkgconfig.zfs.pkgs[ansible_os_family] }}" become: true when: ansible_os_family != 'Darwin' - name: append to caskpkgs ansible.builtin.set_fact: caskpkgs: "{{ caskpkgs + [ 'openzfs' ] }}" when: ansible_os_family == 'Darwin'