--- # ============================================================================= # proxmox_upgrade — main.yml # Orchestrates rolling Proxmox cluster upgrade # ============================================================================= - name: Proxmox Upgrade | Backup all node configs first include_role: name: hypervisor_backup_config vars: pve_config_git_commit_message: "[{{ client_id }}] {{ current_node }} pre-upgrade config backup {{ ansible_date_time.date }}" loop: "{{ upgrade_order }}" loop_control: loop_var: current_node - name: Proxmox Upgrade | Rolling upgrade include_tasks: node_upgrade.yml loop: "{{ upgrade_order }}" loop_control: loop_var: current_node - name: Proxmox Upgrade | Start ansible.builtin.debug: msg: >- Starting Proxmox rolling upgrade for {{ client_name }} — {{ upgrade_order | length }} nodes: {{ upgrade_order | join(' → ') }} — migration_bulk={{ migration_bulk }} — live_migrate_fallback={{ live_migrate_fallback }} — migration_restore={{ migration_restore }} — ceph_enabled={{ ceph_enabled }} - name: Proxmox Upgrade | Cluster preflight include_tasks: preflight.yml - name: Proxmox Upgrade | Rolling upgrade include_tasks: node_upgrade.yml loop: "{{ upgrade_order }}" loop_control: loop_var: current_node - name: Proxmox Upgrade | Complete ansible.builtin.debug: msg: "Proxmox rolling upgrade complete for {{ client_name }} — {{ upgrade_order | length }} nodes upgraded"