---
- 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: Cleanup from any previous executions
      ansible.builtin.import_tasks: tasks/cleanup.yml

    - name: Capture boot device details
      ansible.builtin.import_tasks: tasks/capture_boot_device_details.yml

    - 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_data: "{{ bigboot_data | default({}) |
            combine({inventory_hostname:
              {
                'bigboot_execute_bigboot': bigboot_execute_bigboot,
                'bigboot_execute_shrink_lv': bigboot_execute_shrink_lv,
                'bigboot_adjacent_lvm_device': bigboot_adjacent_lvm_device,
                'bigboot_lv_shrink_size': bigboot_lv_shrink_size | int,
                'bigboot_size': bigboot_size,
                'bigboot_skip_rear_backup': bigboot_skip_rear | default('false')
              }
            })}}"
