wait_for_connection – Waits until remote system is reachable/usable

New in version 2.3.

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

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.