Files
semaphore/playbooks/update.yaml
T
2026-07-09 09:24:21 +02:00

75 lines
2.3 KiB
YAML

---
- name: APT update/upgrade zonder reboot
hosts: all
gather_facts: true
tasks:
- name: Update APT package cache
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600
register: apt_update_result
- name: Upgrade installed packages
ansible.builtin.apt:
upgrade: dist
autoremove: true
autoclean: true
dpkg_options: "force-confdef,force-confold"
lock_timeout: 300
register: apt_upgrade_result
- name: Check if reboot is required
ansible.builtin.stat:
path: /var/run/reboot-required
register: reboot_required
- name: Check reboot-required package list
ansible.builtin.stat:
path: /var/run/reboot-required.pkgs
register: reboot_required_pkgs_file
- name: Read reboot-required package list
ansible.builtin.slurp:
src: /var/run/reboot-required.pkgs
register: reboot_required_pkgs
when: reboot_required_pkgs_file.stat.exists
- name: Save per-host report data
ansible.builtin.set_fact:
apt_report:
host: "{{ inventory_hostname }}"
changed: "{{ apt_update_result.changed or apt_upgrade_result.changed }}"
reboot_required: "{{ reboot_required.stat.exists }}"
reboot_required_packages: >-
{{
(reboot_required_pkgs.content | b64decode).splitlines()
if reboot_required_pkgs_file.stat.exists
else []
}}
- name: Toon eindrapport
hosts: localhost
connection: local
gather_facts: false
tasks:
- name: Eindrapport APT update/upgrade
ansible.builtin.debug:
msg: |
==============================
APT UPDATE/UPGRADE EINDRAPPORT
==============================
{% for host in groups['all'] %}
Host: {{ host }}
Gewijzigd: {{ hostvars[host].apt_report.changed | default('onbekend') }}
Reboot nodig: {{ hostvars[host].apt_report.reboot_required | default('onbekend') }}
{% if hostvars[host].apt_report.reboot_required_packages | default([]) | length > 0 %}
Reboot-triggerende packages:
{% for pkg in hostvars[host].apt_report.reboot_required_packages %}
- {{ pkg }}
{% endfor %}
{% endif %}
{% endfor %}