Add tasks to capture block size instead of filesystem size
This commit is contained in:
parent
9a9aa83adb
commit
5cb1b9d68f
@ -47,8 +47,17 @@
|
|||||||
# that: bigboot_lv_info.size_available > bigboot_expansion_diff | int
|
# that: bigboot_lv_info.size_available > bigboot_expansion_diff | int
|
||||||
# fail_msg: There is not enough space available for LV shrinking.
|
# fail_msg: There is not enough space available for LV shrinking.
|
||||||
|
|
||||||
- name: Set initial target size for fallback
|
- name: Capture UUID for target volume
|
||||||
ansible.builtin.set_fact:
|
ansible.builtin.set_fact:
|
||||||
|
bigboot_lv_uuid: "{{ ansible_facts['mounts'] | selectattr('device', 'equalto', bigboot_adjacent_lvm_device) | map(attribute='uuid') | first }}"
|
||||||
|
|
||||||
|
- name: Capture block device information for target logical volume
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
bigboot_lv_dm: "{{ ansible_device_links['uuids'] | dict2items | selectattr('value', 'contains', bigboot_lv_uuid) | map(attribute='key') | first }}"
|
||||||
|
|
||||||
|
- name: Set initial sizes for logical volume and fallback size target
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
bigboot_lv_partsize: "{{ ansible_devices[bigboot_lv_dm]['sectors'] | int * ansible_devices[bigboot_lv_dm]['sectorsize'] | int }}"
|
||||||
bigboot_size_target_fallback: "{{ bigboot_size_target | human_to_bytes }}"
|
bigboot_size_target_fallback: "{{ bigboot_size_target | human_to_bytes }}"
|
||||||
|
|
||||||
- name: Check available space and fallback to lower /boot size if required
|
- name: Check available space and fallback to lower /boot size if required
|
||||||
@ -56,12 +65,13 @@
|
|||||||
|
|
||||||
- name: Capture shrink and fallback sizes
|
- name: Capture shrink and fallback sizes
|
||||||
ansible.builtin.set_fact:
|
ansible.builtin.set_fact:
|
||||||
bigboot_lv_shrink_size: "{{ bigboot_lv_info['size_total'] - bigboot_expansion_diff | int }}"
|
# we need to get the BLOCK size total, not the filesystem
|
||||||
|
bigboot_lv_shrink_size: "{{ bigboot_lv_partsize | int - bigboot_expansion_diff | int }}"
|
||||||
bigboot_size_target_fallback: "{{ bigboot_size_target_fallback | int | human_readable(unit='G') | regex_replace('\\sGB', 'G') }}"
|
bigboot_size_target_fallback: "{{ bigboot_size_target_fallback | int | human_readable(unit='G') | regex_replace('\\sGB', 'G') }}"
|
||||||
|
|
||||||
- name: Debug bigboot_lv_shrink_size and bigboot_size_target_fallback
|
- name: Debug bigboot_lv_shrink_size and bigboot_size_target_fallback
|
||||||
ansible.builtin.debug:
|
ansible.builtin.debug:
|
||||||
msg: "{{ bigboot_lv_shrink_size | int | human_readable(unit='G') }} <-> {{ bigboot_size_target_fallback }} | {{ bigboot_expansion_diff }}"
|
msg: "{{ bigboot_lv_shrink_size | int | human_readable(unit='G') }} ({{ bigboot_lv_shrink_size }}) <-> {{ bigboot_size_target_fallback }} | {{ bigboot_expansion_diff }}"
|
||||||
|
|
||||||
# - name: Kill the play
|
# - name: Kill the play
|
||||||
# ansible.builtin.meta: end_host
|
# ansible.builtin.meta: end_host
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
- name: Assert that there will be enough space left over on the target LV
|
- name: Assert that there will be enough space left over on the target LV
|
||||||
ansible.builtin.assert:
|
ansible.builtin.assert:
|
||||||
that: (bigboot_lv_info['size_available'] - bigboot_expansion_diff | int) >= bigboot_lv_size_min | human_to_bytes
|
that: (bigboot_lv_info['size_available'] - bigboot_expansion_diff | int) >= bigboot_lv_size_min | human_to_bytes
|
||||||
success_msg: "There will be enough space left over with a boot size of {{ bigboot_size_target_fallback | int | human_readable(unit='G') }}. ({{ (bigboot_lv_info['size_available'] - bigboot_expansion_diff | int) | human_readable(unit='B') }})"
|
success_msg: "There will be enough space left over with a boot size of {{ bigboot_size_target_fallback | int | human_readable(unit='G') }}. ({{ (bigboot_lv_info['size_total'] - bigboot_expansion_diff | int) | human_readable(unit='B') }})"
|
||||||
fail_msg: "There will NOT be enough space left over with a boot size of {{ bigboot_size_target_fallback | int | human_readable(unit='G') }}."
|
fail_msg: "There will NOT be enough space left over with a boot size of {{ bigboot_size_target_fallback | int | human_readable(unit='G') }}."
|
||||||
|
|
||||||
rescue:
|
rescue:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user