Files
ansible-msp-automations/roles/proxmox_upgrade/tasks/node_upgrade.yml

42 lines
2.2 KiB
YAML

---
# =============================================================================
# proxmox_upgrade — node_upgrade.yml
# Per-node sequence: backup → drain → upgrade → restore
# Called via loop with loop_var: current_node
# =============================================================================
- name: "Node {{ current_node }} | Start"
ansible.builtin.debug:
msg: "━━━ Starting upgrade of node {{ current_node }} ━━━"
# ── Step 1: Backup config ─────────────────────────────────────────────────────
# Migrated to main.yml to back up all nodes first.
# - name: "Node {{ current_node }} | Step 1 — Backup config"
# include_role:
# name: hypervisor_backup_config
# vars:
# pve_config_git_commit_message: "[{{ client_id }}] {{ current_node }} pre-upgrade config backup {{ ansible_date_time.date }}"
# ── Step 2: Drain ─────────────────────────────────────────────────────────────
- name: "Node {{ current_node }} | Step 2 — Drain guests"
include_tasks: drain.yml
when: cluster_mode == 'cluster'
- name: "Node {{ current_node }} | Step 2 — Single node, skipping drain"
ansible.builtin.debug:
msg: "cluster_mode=single — skipping guest migration"
when: cluster_mode == 'single'
# ── Step 3: Upgrade ───────────────────────────────────────────────────────────
- name: "Node {{ current_node }} | Step 3 — Upgrade"
include_tasks: upgrade.yml
# ── Step 4: Restore ───────────────────────────────────────────────────────────
- name: "Node {{ current_node }} | Step 4 — Restore guests"
include_tasks: restore.yml
when: cluster_mode == 'cluster'
- name: "Node {{ current_node }} | Complete"
ansible.builtin.debug:
msg: "━━━ Node {{ current_node }} upgrade complete ━━━"