---
- name: Reboot host
  hosts: all
  remote_user: root
  tasks:
    - name: reboot host
      shell: 'sleep 5 && shutdown -r now "Reboot by Ansible."'
      register: reboot
      async: 1
      poll: 0
      ignore_errors: true

    - name: wait for server to come down
      local_action: wait_for host={{ inventory_hostname }} port=22 state=stopped

    - name: wait for server to come up
      local_action: wait_for host={{ inventory_hostname }} port=22 state=started

    - name: check uptime
      shell: 'uptime'
      register: uptime

    - name: show uptime
      debug: 
        msg: "Uptime: {{ uptime.stdout }}"
...        

