Updated Ubuntu/Debian update ansible script

---
- hosts: all
  gather_facts: yes
  become: yes
  serial: 1

  tasks:
    - name: Perform a dist-upgrade.
      ansible.builtin.apt:
        upgrade: dist
        update_cache: yes

    - name: Check if a reboot is required.
      ansible.builtin.stat:
        path: /var/run/reboot-required
        get_md5: no
      register: reboot_required_file

    - name: Reboot the server (if required).
      ansible.builtin.reboot:
      when: reboot_required_file.stat.exists == true

    - name: Wait for Machine to come back online
      local_action: wait_for
             host={{ inventory_hostname }}
                port=22
                state=started
                delay=65
      when: reboot_required_file.stat.exists == true

    - name: Remove dependencies that are no longer required.
      ansible.builtin.apt:
        autoremove: yes

~                              

The above is an improvement on the previous version, thanks to Jeff Geerling. This version checks to see if a reboot is required then waits for the server to come back online.