41 lines
1.1 KiB
YAML
41 lines
1.1 KiB
YAML
---
|
|
- 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: Ensure share directory exists
|
|
ansible.builtin.file:
|
|
path: "{{ share }}"
|
|
state: directory
|
|
mode: "0777"
|
|
owner: root
|
|
group: root
|
|
|
|
- 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
|