Initial gather_ipv4/exportfs build - testing
This commit is contained in:
40
roles/nfs_export/tasks/main.yml
Normal file
40
roles/nfs_export/tasks/main.yml
Normal file
@ -0,0 +1,40 @@
|
||||
---
|
||||
- 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
|
Reference in New Issue
Block a user