ansible.builtin.wait_for_connection – Waits until remote system is reachable/usable

Note

This module is part of ansible-core and included in all Ansible installations. In most cases, you can use the short module name wait_for_connection even without specifying the collections: keyword. However, we recommend you use the FQCN for easy linking to the module documentation and to avoid conflicting with other collections that may have the same module name.

New in version 2.3: of ansible.builtin

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.

Note

This module has a corresponding action plugin.

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

ansible.builtin.wait_for

The official documentation on the ansible.builtin.wait_for module.

ansible.windows.win_wait_for

The official documentation on the ansible.windows.win_wait_for module.

community.windows.win_wait_for_process

The official documentation on the community.windows.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


Authors

  • Dag Wieers (@dagwieers)