--- - 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