add cleanup in the event of execution interruption

This commit is contained in:
Chris Hammer 2024-04-26 15:23:02 -04:00
parent baa89926c6
commit 9a6ff8ee86
2 changed files with 50 additions and 15 deletions

View File

@ -7,26 +7,30 @@
vars:
bigboot_size_target: 1G
initramfs_backup_extension: old
ansible_ssh_retries: 10
tasks:
- name: Capture boot device details
ansible.builtin.import_tasks: tasks/capture_boot_device_details.yml
- name: Cleanup from any previous executions
ansible.builtin.import_tasks: tasks/cleanup.yml
- name: Capture logical volume information
ansible.builtin.import_tasks: tasks/capture_lv_device_details.yml
# - name: Capture boot device details
# ansible.builtin.import_tasks: tasks/capture_boot_device_details.yml
- name: Set environment for subsequent workflow nodes
ansible.builtin.set_stats:
data:
bigboot_execute_bigboot: "{{ bigboot_execute_bigboot }}"
bigboot_execute_shrink_lv: "{{ bigboot_execute_shrink_lv }}"
bigboot_adjacent_lvm_device: "{{ bigboot_adjacent_lvm_device | trim }}"
bigboot_lv_shrink_size: "{{ bigboot_lv_shrink_size | int }}"
bigboot_size: "{{ bigboot_size }}"
bigboot_skip_rear_backup: "{{ bigboot_skip_rear | default('false') }}"
per_host: false
aggregate: false
# - name: Capture logical volume information
# ansible.builtin.import_tasks: tasks/capture_lv_device_details.yml
# - name: Set environment for subsequent workflow nodes
# ansible.builtin.set_stats:
# data:
# bigboot_execute_bigboot: "{{ bigboot_execute_bigboot }}"
# bigboot_execute_shrink_lv: "{{ bigboot_execute_shrink_lv }}"
# bigboot_adjacent_lvm_device: "{{ bigboot_adjacent_lvm_device | trim }}"
# bigboot_lv_shrink_size: "{{ bigboot_lv_shrink_size | int }}"
# bigboot_size: "{{ bigboot_size }}"
# bigboot_skip_rear_backup: "{{ bigboot_skip_rear | default('false') }}"
# per_host: false
# aggregate: false
...

31
tasks/cleanup.yml Normal file
View File

@ -0,0 +1,31 @@
---
- name: Get kernel version
ansible.builtin.set_fact:
initramfs_kernel_version: "{{ ansible_facts.kernel }}"
- name: Remove dracut extend boot module
ansible.builtin.file:
path: /usr/lib/dracut/modules.d/99extend_boot
state: absent
- name: Check for initramfs backup file
ansible.builtin.stat:
path: "/boot/initramfs-{{ initramfs_kernel_version }}.img.{{ initramfs_backup_extension }}"
register: bigboot_initramfs_backup_stat
- name: Restore and remove initramfs backup file
when: bigboot_initramfs_backup_stat['stat']['exists'] | bool
block:
- name: Restore previous initramfs
ansible.builtin.copy:
remote_src: true
src: /boot/initramfs-{{ initramfs_kernel_version }}.img.{{ initramfs_backup_extension }}
dest: /boot/initramfs-{{ initramfs_kernel_version }}.img
mode: "0600"
- name: Remove initramfs backup file
ansible.builtin.file:
path: /boot/initramfs-{{ initramfs_kernel_version }}.img.{{ initramfs_backup_extension }}
state: absent
...