ansible.builtin.wait_for_connection 模块 – 等待远程系统可访问/可用

注意

此模块是 ansible-core 的一部分,并包含在所有 Ansible 安装中。在大多数情况下,即使不指定 collections 关键字,您也可以使用短模块名称 wait_for_connection。但是,我们建议您使用 完全限定集合名称 (FQCN) ansible.builtin.wait_for_connection,以便轻松链接到模块文档,并避免与其他可能具有相同模块名称的集合冲突。

概要

注意

此模块有一个相应的 动作插件

参数

参数

注释

connect_timeout

整数

在关闭并重试之前,等待连接发生的最长时间(以秒为单位)。

默认值: 5

delay

整数

开始轮询前等待的秒数。

默认值: 0

sleep

整数

检查之间休眠的秒数。

默认值: 1

timeout

整数

等待的最大秒数。

默认值: 600

属性

属性

支持

描述

action

支持: 完整

表示它有一个相应的动作插件,因此部分选项可以在控制器上执行

async

支持:

支持与 async 关键字一起使用

bypass_host_loop

支持:

强制执行一个不按主机执行的“全局”任务,这会绕过按主机模板化和串行、节流和其他循环考虑

条件语句的工作方式如同正在使用 run_once,使用的变量将来自第一个可用主机

此操作在锁定步骤策略之外无法正常工作

check_mode

支持:

可以在 check_mode 中运行并返回已更改的状态预测,而无需修改目标,如果不支持,则会跳过该操作。

diff_mode

支持:

在差异模式下,将返回有关已更改(或可能需要在 check_mode 中更改)的详细信息

platform

平台: 全部

只要有连接插件即可

可以对其进行操作的目标操作系统/系列

另请参阅

另请参阅

ansible.builtin.wait_for

等待某个条件成立后继续。

ansible.windows.win_wait_for

关于 ansible.windows.win_wait_for 模块的官方文档。

community.windows.win_wait_for_process

关于 community.windows.win_wait_for_process 模块的官方文档。

示例

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

- name: Wait 300 seconds, but only start checking after 60 seconds
  ansible.builtin.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
    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:

# 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:

返回值

常见返回值记录在此处,以下是此模块独有的字段

描述

elapsed

浮点数

等待连接出现所经过的秒数。

返回值: 总是

示例: 23.1

作者

  • Dag Wieers (@dagwieers)