shrink_lv/tasks/capture_boot_device_details.yml
2025-05-15 17:21:50 -04:00

47 lines
1.6 KiB
YAML

---
- name: Get /boot mount information
ansible.builtin.set_fact:
bigboot_boot_mount: "{{ ansible_facts.mounts \
| selectattr('mount', 'equalto', '/boot') | first }}"
- name: Capture device for /boot
ansible.builtin.set_fact:
bigboot_boot_device: "{{ bigboot_boot_mount.device | regex_replace('^.*/(\\w+$)', '\\1') }}"
- name: Capture partition size for /boot parition
ansible.builtin.set_fact:
bigboot_boot_partsize: "{{ ansible_devices[bigboot_boot_device[:-1]].partitions[bigboot_boot_device].size }}"
- name: Display current parition size for /boot
ansible.builtin.debug:
msg: "/boot ({{ bigboot_boot_mount.device }}): {{ bigboot_boot_partsize }}"
- name: Capture required expansion space
ansible.builtin.set_fact:
bigboot_expansion_diff:
"{{ bigboot_size_target | human_to_bytes - bigboot_boot_partsize | human_to_bytes }}"
- name: Validate if we need to expand boot
block:
- name: Set flag for Bigboot execution
ansible.builtin.set_fact:
bigboot_execute_bigboot: false
- name: Assert that /boot requires expansion
ansible.builtin.assert:
that: bigboot_expansion_diff | int <= 0
fail_msg: The /boot partition will need to be resized
success_msg: The /boot partition is already at the desired size
rescue:
- name: Set flag for Bigboot execution
ansible.builtin.set_fact:
bigboot_execute_bigboot: true
- name: Expansion of /boot required
ansible.builtin.debug:
msg: >
Expansion of /boot is required.
Will attempt to increase to {{ bigboot_size_target }}, or
{{ bigboot_size_min }} at the minimum."