43 lines
1.2 KiB
YAML
43 lines
1.2 KiB
YAML
---
|
|
- name: System Update Playbook
|
|
hosts: all
|
|
become: yes
|
|
gather_facts: yes
|
|
|
|
tasks:
|
|
- name: Wait for automatic system updates to complete
|
|
shell: while fuser /var/lib/dpkg/lock-frontend >/dev/null 2>&1; do sleep 5; done
|
|
when: ansible_os_family == "Debian"
|
|
|
|
- name: Update apt cache
|
|
apt:
|
|
update_cache: yes
|
|
cache_valid_time: 3600
|
|
when: ansible_os_family == "Debian"
|
|
retries: 3
|
|
delay: 10
|
|
|
|
- name: Upgrade all packages
|
|
apt:
|
|
upgrade: yes
|
|
autoremove: yes
|
|
autoclean: yes
|
|
when: ansible_os_family == "Debian"
|
|
register: upgrade_result
|
|
retries: 3
|
|
delay: 10
|
|
|
|
- name: Display upgrade results
|
|
debug:
|
|
msg: "System upgrade completed. {{ upgrade_result.changed }} packages were updated."
|
|
|
|
- name: Check if reboot is required
|
|
stat:
|
|
path: /var/run/reboot-required
|
|
register: reboot_required
|
|
when: ansible_os_family == "Debian"
|
|
|
|
- name: Notify if reboot is required
|
|
debug:
|
|
msg: "System reboot is required to complete the update."
|
|
when: reboot_required.stat.exists is defined and reboot_required.stat.exists |