--- - name: Dist upgrade and optional reboot hosts: all vars: restart: 'no' reboot_wait: 300 vars_prompt: - name: reboot prompt: "Enter 'yes' to reboot" default: 'no' private: no tasks: - name: apt-get update apt: update_cache=yes cache_valid_time=3600 - name: apt-get dist-upgrade apt: upgrade=dist - name: apt-get autoremove command: cmd: apt-get -y --purge autoremove warn: false register: autoremove_output changed_when: "'The following packages will be REMOVED' in autoremove_output.stdout" - name: reboot server command: /sbin/reboot async: 0 poll: 0 ignore_errors: true when: reboot == "yes" register: last_result - name: wait for the server to reboot local_action: wait_for host={{ inventory_hostname }} port=22 delay=1 timeout=300 state=started when: last_result.changed become: false