shrink_lv/tasks/check_space_fallback.yml
2025-05-01 12:25:58 -04:00

35 lines
1.3 KiB
YAML

---
- name: Convert size target to bytes
ansible.builtin.set_fact:
bigboot_size_target: "{{ bigboot_size_target | human_to_bytes }}"
- name: Debug bigboot_expansion_diff
ansible.builtin.debug:
msg: "{{ bigboot_expansion_diff }} + {{ bigboot_size_target }}"
- name: Fail if /boot can't expand to at least 1GB
ansible.builtin.assert:
that: bigboot_size_target | human_to_bytes > 1073741824
fail_msg: "{{ bigboot_size_target | int | human_readable(unit='M') }} is less than the minimum of 1GB for /boot"
- name: Verify available space and re-check if needed
block:
- name: Assert that there is space on the logical volume for shrinkage
ansible.builtin.assert:
that: bigboot_lv_info['size_available'] > bigboot_expansion_diff | int
fail_msg: There is not enough space available for LV shrinking.
rescue:
- name: Decrement size target by .25G
ansible.builtin.set_fact:
bigboot_size_target: "{{ bigboot_size_target | human_to_bytes - 262144000 }}"
- name: Update required expansion space
ansible.builtin.set_fact:
bigboot_expansion_diff:
"{{ bigboot_size_target | human_to_bytes - bigboot_boot_partsize | human_to_bytes }}"
- name: Re-check disk space - RESCUE
ansible.builtin.include_tasks: check_space_fallback.yml