# wait_for_connection – Waits until remote system is reachable/usable

- Synopsis
- Parameters
- Notes
- See Also
- Examples
- Return Values
- Status

## Synopsis

- Waits for a total of `timeout` seconds.
- Retries the transport connection after a timeout of `connect_timeout`.
- Tests the transport connection every `sleep` seconds.
- This module makes use of internal ansible transport (and configuration) and the ping/win_ping module to guarantee correct end-to-end functioning.
- This module is also supported for Windows targets.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
connect_timeout integer | Default: 5 | Maximum number of seconds to wait for a connection to happen before closing and retrying.
delay integer | Default: 0 | Number of seconds to wait before starting to poll.
sleep integer | Default: 1 | Number of seconds to sleep between checks.
timeout integer | Default: 600 | Maximum number of seconds to wait for.

## Notes

Note

- This module is also supported for Windows targets.

## See Also

See also

wait_for – Waits for a condition before continuing
  The official documentation on the wait_for module.
win_wait_for – Waits for a condition before continuing
  The official documentation on the win_wait_for module.
win_wait_for_process – Waits for a process to exist or not exist before continuing
  The official documentation on the win_wait_for_process module.

## Examples

    - name: Wait 600 seconds for target connection to become reachable/usable
      wait_for_connection:

    - name: Wait 300 seconds, but only start checking after 60 seconds
      wait_for_connection:
        delay: 60
        timeout: 300

    # Wake desktops, wait for them to become ready and continue playbook
    - hosts: all
      gather_facts: no
      tasks:
      - name: Send magic Wake-On-Lan packet to turn on individual systems
        wakeonlan:
          mac: '{{ mac }}'
          broadcast: 192.168.0.255
        delegate_to: localhost

      - name: Wait for system to become reachable
        wait_for_connection:

      - name: Gather facts for first time
        setup:

    # Build a new VM, wait for it to become ready and continue playbook
    - hosts: all
      gather_facts: no
      tasks:
      - name: Clone new VM, if missing
        vmware_guest:
          hostname: '{{ vcenter_ipaddress }}'
          name: '{{ inventory_hostname_short }}'
          template: Windows 2012R2
          customization:
            hostname: '{{ vm_shortname }}'
            runonce:
            - powershell.exe -ExecutionPolicy Unrestricted -File C:\Windows\Temp\ConfigureRemotingForAnsible.ps1 -ForceNewSSLCert -EnableCredSSP
        delegate_to: localhost

      - name: Wait for system to become reachable over WinRM
        wait_for_connection:
          timeout: 900

      - name: Gather facts for first time
        setup:

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
elapsed float | always | The number of seconds that elapsed waiting for the connection to appear. Sample: 23.1

## Status

- This module is guaranteed to have backward compatible interface changes going forward. [stableinterface]
- This module is maintained by the Ansible Core Team. [core]

### Red Hat Support

More information about Red Hat’s support of this module is available from this Red Hat Knowledge Base article.

### Authors

- Dag Wieers (@dagwieers)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.