From 54d44730fe539682f85545d2f850cf7e23f41d5c Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Thu, 27 Feb 2025 16:30:50 -0500 Subject: [PATCH] Add remove playbook/role --- playbooks/rear_remove.yml | 10 ++++++ roles/rear_remove/handlers/main.yml | 3 ++ roles/rear_remove/handlers/rebuild_grub.yml | 17 +++++++++ roles/rear_remove/tasks/main.yml | 38 +++++++++++++++++++++ 4 files changed, 68 insertions(+) create mode 100644 playbooks/rear_remove.yml create mode 100644 roles/rear_remove/handlers/main.yml create mode 100644 roles/rear_remove/handlers/rebuild_grub.yml create mode 100644 roles/rear_remove/tasks/main.yml diff --git a/playbooks/rear_remove.yml b/playbooks/rear_remove.yml new file mode 100644 index 0000000..40f0d82 --- /dev/null +++ b/playbooks/rear_remove.yml @@ -0,0 +1,10 @@ +--- +- name: ReaR Remove Playbook + hosts: all + gather_facts: true + become: false + + tasks: + - name: Run cleanup directly + ansible.builtin.include_role: + name: ../roles/rear_remove diff --git a/roles/rear_remove/handlers/main.yml b/roles/rear_remove/handlers/main.yml new file mode 100644 index 0000000..f39f097 --- /dev/null +++ b/roles/rear_remove/handlers/main.yml @@ -0,0 +1,3 @@ +--- +- name: Rebuild Grub2 + ansible.builtin.include_tasks: handlers/rebuild_grub.yml diff --git a/roles/rear_remove/handlers/rebuild_grub.yml b/roles/rear_remove/handlers/rebuild_grub.yml new file mode 100644 index 0000000..fcb85ff --- /dev/null +++ b/roles/rear_remove/handlers/rebuild_grub.yml @@ -0,0 +1,17 @@ +--- +- name: UEFI Check + ansible.builtin.stat: + path: /boot/efi/EFI/redhat/grub.cfg + register: is_efi + +- name: Rebuild Grub config - BIOS + ansible.builtin.command: + cmd: "grub2-mkconfig -o /boot/grub2/grub.cfg" + when: + - not is_efi['stat']['exists'] | bool + +- name: Rebuild Grub config - UEFI + ansible.builtin.command: + cmd: "grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg" + when: + - is_efi['stat']['exists'] | bool diff --git a/roles/rear_remove/tasks/main.yml b/roles/rear_remove/tasks/main.yml new file mode 100644 index 0000000..951e56b --- /dev/null +++ b/roles/rear_remove/tasks/main.yml @@ -0,0 +1,38 @@ +--- +- name: Check previous log file + ansible.builtin.stat: + path: "/var/log/rear/rear-{{ ansible_hostname }}.log" + register: old_rear_log + +- name: Backup ReaR log file + when: + - old_rear_log['stat']['exists'] + block: + - name: Copy old ReaR log file to backup location + ansible.builtin.copy: + src: "/var/log/rear/rear-{{ ansible_hostname }}.log" + dest: "/var/log/rear-{{ ansible_hostname }}-{{ '%Y-%m-%d' | strftime(old_rear_log['stat']['mtime']) }}.log" + mode: "0644" + backup: true + remote_src: true + + - name: Remove old ReaR log file + ansible.builtin.file: + path: "/var/log/rear/rear-{{ ansible_hostname }}.log" + state: absent + +- name: Remove files + ansible.builtin.file: + path: "{{ item }}" + state: absent + loop: + - "/boot/rear-initrd.cgz" + - "/boot/rear-kernel" + - "/etc/rear" + - "/tmp/rear" + - "/var/lib/rear" + +- name: Remove Grub2 config + ansible.builtin.file: + path: "/etc/grub.d/45_rear" + notify: Rebuild Grub2