--- - name: Update all Docker hosts hosts: docker_hosts become: yes gather_facts: yes vars: reboot: false tasks: - name: Update apt cache apt: update_cache: yes cache_valid_time: 3600 - name: Upgrade all packages apt: upgrade: dist autoremove: yes autoclean: yes register: upgrade_result - name: Check if reboot is required stat: path: /var/run/reboot-required register: reboot_required - name: Notify if reboot needed debug: msg: "{{ inventory_hostname }} requires a reboot" when: reboot_required.stat.exists - name: Reboot if required and allowed reboot: msg: "Ansible triggered reboot after updates" reboot_timeout: 300 when: - reboot_required.stat.exists - reboot | bool