Files
2026-07-12 16:20:05 +02:00

108 lines
3.1 KiB
YAML

---
- name: APT update/upgrade zonder reboot
hosts: all
become: true
gather_facts: true
environment:
DEBIAN_FRONTEND: noninteractive
APT_LISTCHANGES_FRONTEND: none
NEEDRESTART_MODE: a
tasks:
- name: Update APT package cache
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600
lock_timeout: 300
register: apt_update_result
- name: Upgrade installed packages
ansible.builtin.apt:
upgrade: dist
dpkg_options: "force-confdef,force-confold"
lock_timeout: 300
register: apt_upgrade_result
- name: Reset SSH connection after package upgrade
ansible.builtin.meta: reset_connection
- name: Wait until host is reachable again
ansible.builtin.wait_for_connection:
connect_timeout: 10
sleep: 2
timeout: 120
- name: Remove unused packages
ansible.builtin.apt:
autoremove: true
purge: false
lock_timeout: 300
register: apt_autoremove_result
- name: Clean obsolete package files
ansible.builtin.apt:
autoclean: true
lock_timeout: 300
register: apt_autoclean_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
or apt_autoremove_result.changed
or apt_autoclean_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 %}