75 lines
2.3 KiB
YAML
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 %} |