- name: Wait for connection ansible.builtin.wait_for_connection: timeout: '{{ file_wait_seconds }}' - name: Check if file exists ansible.builtin.file: path: '{{ file_wait_path }}' state: file register: file_wait_check until: file_wait_check is succeeded retries: '{{ file_wait_seconds // file_wait_delay }}' delay: '{{ file_wait_delay }}' ignore_unreachable: true ignore_errors: true - name: If host restarted, try again when: file_wait_check is unreachable block: - name: Show number of reboots ansible.builtin.debug: msg: 'Number of reboots left: {{ file_wait_reboots_left }}' - name: Decrement number of reboots ansible.builtin.set_fact: file_wait_reboots_left: '{{ (file_wait_reboots_left | int) - 1 }}' - name: Retry if there're more reboots ansible.builtin.include_tasks: check.yml when: (file_wait_reboots_left | int >= 0)