--- - name: Ensure share directory exists ansible.builtin.file: path: "{{ share }}" state: directory mode: "0777" owner: root group: root - name: Check disk space on ReaR Backup filesystem for NFS servers ansible.builtin.shell: | set -o pipefail df -BG {{ share }} | tail -1 | awk '{print substr($4, 1, length($4)-1)}' register: disk_space changed_when: false - name: Debug disk_space ansible.builtin.debug: var: disk_space - name: Fail job if less than 50GB space ansible.builtin.fail: msg: ReaR NFS server {{ inventory_hostname }} has less than 50GB of space on filesystem." when: (disk_space.stdout|int <= 50) - name: Validate IP address fact ansible.builtin.fail: msg: "Missing client_ips variable" when: - client_ips is not defined - name: Add remote hosts to /etc/exports ansible.builtin.lineinfile: path: /etc/exports state: present line: "{{ share }} {{ _options }}" loop: "{{ client_ips | list | flatten }}" vars: _options: "{{ item }}(fsid=0,rw,sync,no_subtree_check,crossmnt)" notify: Export share