Initial Lab Setup

This commit is contained in:
2026-07-06 16:45:51 +02:00
commit 05184d778d
52 changed files with 2526 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
---
- name: Managed Lab Maintenance
hosts: all_nodes
become: true
serial: 2 # Update 2 nodes at a time to reduce network/storage strain
tasks:
- name: 1. Update all packages via Nala
ansible.builtin.apt:
update_cache: yes
upgrade: dist
autoremove: yes
register: apt_res
- name: 2. Check if a reboot is required
ansible.builtin.stat:
path: /var/run/reboot-required
register: reboot_required_file
- name: 3. Conditional Reboot (Skip Physical Hosts for now)
when:
- reboot_required_file.stat.exists
- inventory_hostname not in groups['physical_iron'] # Handle physical hosts in a separate play
ansible.builtin.reboot:
msg: "Rebooting {{ inventory_hostname }} after updates"
reboot_timeout: 600
- name: Final Tier - Proxmox Host Maintenance
hosts: physical_iron
become: true
serial: 1 # Reboot physical hosts sequentially to avoid complete cluster downtime
tasks:
- name: Check if Host needs reboot
ansible.builtin.stat:
path: /var/run/reboot-required
register: host_reboot
- name: Proxmox Host Reboot Block
when: host_reboot.stat.exists
block:
- name: Graceful shutdown of all VMs/LXCs
ansible.builtin.shell: pvesh create /nodes/localhost/stopall
failed_when: false
- name: Reboot the Host
ansible.builtin.reboot:
msg: "Host maintenance reboot"
reboot_timeout: 900