41 lines
2.1 KiB
YAML
41 lines
2.1 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 ─────────────────────────────────────────────────────
|
|
- 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 ━━━"
|