40 lines
1.2 KiB
YAML
40 lines
1.2 KiB
YAML
---
|
|
- hosts: yumhosts
|
|
gather_facts: no
|
|
tasks:
|
|
|
|
- name: Update all installed packages using YUM module
|
|
ansible.builtin.yum:
|
|
use_backend: yum3
|
|
name: '*'
|
|
state: latest
|
|
update_cache: yes
|
|
update_only: yes
|
|
register: yum_update_status
|
|
|
|
- name: Remove packages not needed anymore
|
|
ansible.builtin.yum:
|
|
use_backend: yum3
|
|
autoremove: yes
|
|
|
|
- name: Check if a file exists
|
|
ansible.builtin.stat:
|
|
path: /var/run/needs-restarting
|
|
register: reboot_required_file
|
|
|
|
- name: Check if a reboot is required
|
|
ansible.builtin.command: needs-restarting -r
|
|
register: reboot_check
|
|
ignore_errors: yes # Important: The command returns a non-zero exit code if a reboot is needed
|
|
#changed_when: false # This command does not change the system state
|
|
|
|
- name: Reboot the server if required
|
|
ansible.builtin.reboot:
|
|
msg: "System is going down for reboot after package updates."
|
|
when: reboot_check.rc == 1 # needs-restarting -r returns 1 if a reboot is needed
|
|
|
|
|
|
# - name: Reboot if required
|
|
# ansible.builtin.reboot:
|
|
# reboot_timeout: 120 # Adjust timeout as needed
|
|
# when: reboot_required_file.stat.exists |