36 lines
1.1 KiB
YAML
36 lines
1.1 KiB
YAML
---
|
|
- name: Update CentOS Stream 9 Halo Servers
|
|
hosts: centos_stream
|
|
become: yes
|
|
tasks:
|
|
- name: Check for logged in users
|
|
shell: who | wc -l
|
|
register: logged_users
|
|
changed_when: false
|
|
|
|
- name: Display logged in user count
|
|
debug:
|
|
msg: "{{ logged_users.stdout }} user(s) currently logged in"
|
|
|
|
- name: Skip updates if users are logged in
|
|
meta: end_play
|
|
when: logged_users.stdout | int > 0
|
|
|
|
- name: Ensure all packages are up to date
|
|
dnf:
|
|
name: '*'
|
|
state: latest
|
|
update_cache: yes
|
|
register: dnf_result
|
|
|
|
- name: Display package update statistics
|
|
debug:
|
|
msg:
|
|
- "Packages installed: {{ dnf_result.results | selectattr('state', 'equalto', 'installed') | list | length }}"
|
|
- "Packages updated: {{ dnf_result.results | selectattr('state', 'equalto', 'updated') | list | length }}"
|
|
- "Packages removed: {{ dnf_result.results | selectattr('state', 'equalto', 'removed') | list | length }}"
|
|
when: dnf_result.results is defined
|
|
|
|
- name: Rebooting the servers
|
|
reboot:
|
|
when: dnf_result.changed |