ansible/update.yml
Sascha bc765668a6 sync: Inventory-Realabgleich + neue host_vars/roles/playbooks
Nachgezogener Arbeitsstand des Homelabs:
- neue host_vars (k3s-*, gluster-*, docmost, paperless, kometa, thelounge, satisfactory, wolfstack-vm)
- neue Rollen/Playbooks (net_watchdog, patchmon-agent, tc_ratelimit, sops-age, rotate-ssh-key, dns-doh, remove-postfix, checkrr-deploy)
- diverse Rollen-Updates (base, borg, dns_resolver, frp_client, hawser, nvidia)

Ausgeklammert (bleiben uncommittet): host_vars/docmost/vars.yml (Klartext-Token -> sollte vault-konform via vault_* referenziert werden).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 21:27:23 +02:00

58 lines
1.8 KiB
YAML

---
- name: Alle VMs aktualisieren
hosts: all
become: yes
tasks:
- name: Update apt cache and upgrade packages
apt:
update_cache: yes
upgrade: dist
autoremove: yes
- name: Pruefen ob Reboot noetig ist (Debian)
ansible.builtin.stat:
path: /var/run/reboot-required
register: reboot_required
- name: NVIDIA Check nach Upgrade
hosts: nvidia
become: yes
tasks:
- name: Kernel Headers fuer alle installierten Kernel sicherstellen
ansible.builtin.shell: |
export PATH=$PATH:/usr/sbin
# Headers fuer den laufenden UND den neuesten installierten Kernel
NEWEST_KERNEL=$(ls -t /boot/vmlinuz-* | head -1 | sed 's|/boot/vmlinuz-||')
apt-get install -y linux-headers-${NEWEST_KERNEL} linux-headers-$(uname -r) linux-headers-amd64 dkms
dkms autoinstall
register: headers_result
changed_when: "'newly installed' in headers_result.stdout"
- name: NVIDIA Driver Mismatch pruefen
ansible.builtin.shell: nvidia-smi > /dev/null 2>&1
register: nvidia_check
changed_when: false
failed_when: false
- name: Reboot-Flag setzen bei NVIDIA Mismatch
ansible.builtin.set_fact:
nvidia_reboot_needed: true
when: nvidia_check.rc != 0
- name: Reboot falls noetig
hosts: all
become: yes
serial: 3
tasks:
- name: Reboot durchfuehren
ansible.builtin.reboot:
msg: "Reboot nach Update"
reboot_timeout: 300
when: >
hostvars[inventory_hostname].reboot_required.stat.exists | default(false)
or hostvars[inventory_hostname].nvidia_reboot_needed | default(false)
- name: NVIDIA Treiber nach Reboot verifizieren
ansible.builtin.shell: nvidia-smi | head -3
when: hostvars[inventory_hostname].nvidia_reboot_needed | default(false)
changed_when: false