--- - name: APT update/upgrade zonder reboot met eindrapport 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 register: apt_upgrade_result - name: Check if reboot is required ansible.builtin.stat: path: /var/run/reboot-required register: reboot_required - 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: | ============================== 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 %}