From 86285c1474739080ec2a3d60c776462df7266f36 Mon Sep 17 00:00:00 2001 From: Lionel Date: Wed, 8 Jul 2026 22:25:28 +0200 Subject: [PATCH] Update playbooks/update.yaml --- playbooks/update.yaml | 62 +++++++++++++++++++++++++++++++++---------- 1 file changed, 48 insertions(+), 14 deletions(-) diff --git a/playbooks/update.yaml b/playbooks/update.yaml index e2cd1fe..5879cf0 100644 --- a/playbooks/update.yaml +++ b/playbooks/update.yaml @@ -1,7 +1,6 @@ --- -- name: Update and upgrade Debian/Ubuntu systems +- name: APT update/upgrade zonder reboot met eindrapport hosts: all - become: true gather_facts: true tasks: @@ -9,27 +8,62 @@ ansible.builtin.apt: update_cache: true cache_valid_time: 3600 + register: apt_update_result - name: Upgrade installed packages ansible.builtin.apt: - upgrade: true - - - name: Remove unused packages - ansible.builtin.apt: + upgrade: dist autoremove: true - purge: false - - - name: Clean APT cache - ansible.builtin.apt: autoclean: true + register: apt_upgrade_result - name: Check if reboot is required ansible.builtin.stat: path: /var/run/reboot-required register: reboot_required - - name: Display reboot status + - name: Read reboot-required package list + ansible.builtin.slurp: + src: /var/run/reboot-required.pkgs + register: reboot_required_pkgs + when: reboot_required.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.stat.exists and reboot_required_pkgs is defined and reboot_required_pkgs.content is defined + else [] + }} + +- name: Toon eindrapport + hosts: localhost + gather_facts: false + + tasks: + - name: Eindrapport APT update/upgrade ansible.builtin.debug: - msg: > - A reboot is required on this host. - when: reboot_required.stat.exists \ No newline at end of file + 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 %} \ No newline at end of file