ansible.builtin.wait_for_connection (v2.16.5) — module

Waits until remote system is reachable/usable

| "added in version" 2.3 of ansible.builtin"

Authors: Dag Wieers (@dagwieers)

This plugin has a corresponding action plugin.

Install Ansible via pip

Install with pip install ansible-core==2.16.5

Description

Waits for a total of O(timeout) seconds.

Retries the transport connection after a timeout of O(connect_timeout).

Tests the transport connection every O(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.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Wait 600 seconds for target connection to become reachable/usable
  ansible.builtin.wait_for_connection:
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Wait 300 seconds, but only start checking after 60 seconds
  ansible.builtin.wait_for_connection:
    delay: 60
    timeout: 300
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# 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
    community.general.wakeonlan:
      mac: '{{ mac }}'
      broadcast: 192.168.0.255
    delegate_to: localhost

  - name: Wait for system to become reachable
    ansible.builtin.wait_for_connection:

  - name: Gather facts for first time
    ansible.builtin.setup:
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# 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
    community.vmware.vmware_guest:
      hostname: '{{ vcenter_ipaddress }}'
      name: '{{ inventory_hostname_short }}'
      template: Windows 2012R2
      customization:
        hostname: '{{ vm_shortname }}'
        runonce:
        - cmd.exe /c winrm.cmd quickconfig -quiet -force
    delegate_to: localhost

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

  - name: Gather facts for first time
    ansible.builtin.setup:

Inputs

    
delay:
    default: 0
    description:
    - Number of seconds to wait before starting to poll.
    type: int

sleep:
    default: 1
    description:
    - Number of seconds to sleep between checks.
    type: int

timeout:
    default: 600
    description:
    - Maximum number of seconds to wait for.
    type: int

connect_timeout:
    default: 5
    description:
    - Maximum number of seconds to wait for a connection to happen before closing and
      retrying.
    type: int

Outputs

elapsed:
  description: The number of seconds that elapsed waiting for the connection to appear.
  returned: always
  sample: 23.1
  type: float

See also