60 lines
2.2 KiB
YAML
60 lines
2.2 KiB
YAML
---
|
|
- name: Perform logical volume and boot parition resizing as needed
|
|
hosts: all
|
|
become: true
|
|
gather_facts: true
|
|
strategy: free
|
|
|
|
vars_files:
|
|
- bigboot_vars.yml
|
|
|
|
tasks:
|
|
- name: Perform filesystem check prior to Bigboot execution
|
|
ansible.builtin.import_tasks: tasks/grub_filesystem_check.yml
|
|
when:
|
|
- bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | default(false) | bool
|
|
|
|
- name: Shrink the logical volume to support /boot expansion
|
|
ansible.builtin.import_role:
|
|
name: infra.lvm_snapshots.shrink_lv
|
|
vars:
|
|
shrink_lv_devices:
|
|
- device: "{{ bigboot_data[inventory_hostname]['bigboot_adjacent_lvm_device'] }}"
|
|
size: "{{ bigboot_data[inventory_hostname]['bigboot_lv_shrink_size'] | int }}"
|
|
when:
|
|
- bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | default(false) | bool
|
|
|
|
- name: Shift free extents and expand /boot
|
|
when:
|
|
- bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool
|
|
block:
|
|
# Under normal circumstances we'd use this method, but unable to do
|
|
# so in certain environments so lets use copy/command instead
|
|
# - name: Shift free extents to end of PV
|
|
# ansible.builtin.script: "scripts/pvsqueeze.sh {{ bigboot_data[inventory_hostname]['bigboot_pv'] }}"
|
|
# register: bigboot_pvsqueeze
|
|
|
|
- name: Copy pvsqueeze.sh script to host
|
|
ansible.builtin.copy:
|
|
src: scripts/pvsqueeze.sh
|
|
dest: /var/tmp/pvsqueeze.sh
|
|
owner: root
|
|
group: root
|
|
mode: '0700'
|
|
|
|
- name: Shift free extents to end of PV
|
|
ansible.builtin.command:
|
|
cmd: "/var/tmp/pvsqueeze.sh {{ bigboot_data[inventory_hostname]['bigboot_pv'] }}"
|
|
register: bigboot_pvsqueeze
|
|
|
|
- name: Remove pvsqueeze.sh from host
|
|
ansible.builtin.file:
|
|
path: /var/tmp/pvsqueeze.sh
|
|
state: absent
|
|
|
|
- name: Expand the /boot partition as requested
|
|
ansible.builtin.import_role:
|
|
name: infra.lvm_snapshots.bigboot
|
|
vars:
|
|
bigboot_partition_size: "{{ bigboot_size_target }}"
|