From c8f40471cd4d103f706e69266d1ab911a3db6e9e Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Sat, 22 Feb 2025 19:25:17 -0500 Subject: [PATCH] Make fsid dynamic; Add backup validation - verify rear_force_backup --- roles/nfs_export/tasks/main.yml | 6 +++++- roles/nfs_export/vars/main.yml | 1 + roles/rear_backup/tasks/main.yml | 21 +++++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/roles/nfs_export/tasks/main.yml b/roles/nfs_export/tasks/main.yml index 9d21b3c..4a9e855 100644 --- a/roles/nfs_export/tasks/main.yml +++ b/roles/nfs_export/tasks/main.yml @@ -39,7 +39,11 @@ path: /etc/exports state: present line: "{{ rear_nfs_export_share }} {{ _options }}" + create: true + mode: "0644" + owner: root + group: root loop: "{{ client_ips | list | flatten }}" vars: - _options: "{{ item }}(fsid=0,rw,sync,no_subtree_check,crossmnt)" + _options: "{{ item }}(fsid={{ rear_nfs_export_fsid }},rw,sync,no_subtree_check,crossmnt)" notify: Export share diff --git a/roles/nfs_export/vars/main.yml b/roles/nfs_export/vars/main.yml index afa6dd6..f8f007f 100644 --- a/roles/nfs_export/vars/main.yml +++ b/roles/nfs_export/vars/main.yml @@ -1,2 +1,3 @@ --- rear_nfs_export_share: "/backups/standalone" +rear_nfs_export_fsid: 0 diff --git a/roles/rear_backup/tasks/main.yml b/roles/rear_backup/tasks/main.yml index 3bb625d..9b18204 100644 --- a/roles/rear_backup/tasks/main.yml +++ b/roles/rear_backup/tasks/main.yml @@ -1,4 +1,25 @@ --- +- name: Check for backup log presence + ansible.builtin.stat: + path: "/var/log/rear/rear-{{ ansible_hostname }}.log" + register: rear_backup_log_presence + +- name: End host if ReaR backup already exists + when: + - rear_backup_log_presence['stat']['exists'] | bool + - not rear_force_backup | default(false) | bool + block: + - name: Validate ReaR backup completion + ansible.builtin.command: + cmd: "grep 'Finished running mkbackup workflow' /var/log/rear/rear-{{ ansible_hostname }}.log" + register: validate_backup_log + failed_when: validate_backup_log['rc'] not in [0,1] + + - name: End play if ReaR already exists + ansible.builtin.meta: end_host + when: + - validate_backup_log['rc'] == 0 + - name: Ensure nfs-utils and rear packages are present ansible.builtin.package: name: