Initial Lab Setup
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user