Update playbooks/update.yaml
This commit is contained in:
+48
-14
@@ -1,7 +1,6 @@
|
|||||||
---
|
---
|
||||||
- name: Update and upgrade Debian/Ubuntu systems
|
- name: APT update/upgrade zonder reboot met eindrapport
|
||||||
hosts: all
|
hosts: all
|
||||||
become: true
|
|
||||||
gather_facts: true
|
gather_facts: true
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
@@ -9,27 +8,62 @@
|
|||||||
ansible.builtin.apt:
|
ansible.builtin.apt:
|
||||||
update_cache: true
|
update_cache: true
|
||||||
cache_valid_time: 3600
|
cache_valid_time: 3600
|
||||||
|
register: apt_update_result
|
||||||
|
|
||||||
- name: Upgrade installed packages
|
- name: Upgrade installed packages
|
||||||
ansible.builtin.apt:
|
ansible.builtin.apt:
|
||||||
upgrade: true
|
upgrade: dist
|
||||||
|
|
||||||
- name: Remove unused packages
|
|
||||||
ansible.builtin.apt:
|
|
||||||
autoremove: true
|
autoremove: true
|
||||||
purge: false
|
|
||||||
|
|
||||||
- name: Clean APT cache
|
|
||||||
ansible.builtin.apt:
|
|
||||||
autoclean: true
|
autoclean: true
|
||||||
|
register: apt_upgrade_result
|
||||||
|
|
||||||
- name: Check if reboot is required
|
- name: Check if reboot is required
|
||||||
ansible.builtin.stat:
|
ansible.builtin.stat:
|
||||||
path: /var/run/reboot-required
|
path: /var/run/reboot-required
|
||||||
register: 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:
|
ansible.builtin.debug:
|
||||||
msg: >
|
msg: |
|
||||||
A reboot is required on this host.
|
==============================
|
||||||
when: reboot_required.stat.exists
|
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 %}
|
||||||
Reference in New Issue
Block a user