--- - block: - name: update packages (Fedora Atomic) atomic_host: revision: latest when: ansible_distribution == 'Fedora' and is_atomic register: atomic_host_upgraded - name: refresh and update packages (Fedora) dnf: name: "*" state: latest update_cache: yes when: ansible_distribution == 'Fedora' and not is_atomic register: fedora_upgraded - name: update packages (generic - non-atomic/dnf) package: name: '*' state: latest when: ansible_distribution in ["CentOS", "Red Hat Enterprise Linux", "RedHat", "Debian", "Ubuntu"] and not is_atomic register: host_upgraded - name: reboot updated hosts shell: nohup bash -c "sleep 2 && shutdown -r now" & register: host_reset when: (atomic_host_upgraded is changed) or (host_upgraded is changed) or (fedora_upgraded is changed) - name: wait for rebooted host to return wait_for_connection: timeout: 300 delay: 20 when: host_reset is changed tags: - update