Ansible:从远程主机Ping

Ansible:从远程主机Ping,ansible,ansible-playbook,Ansible,Ansible Playbook,我和Ansible主持了一个晚会。我有主机B(主机B在资源清册中不可用),我在其中执行几个带有“delegate_to”的命令。主机C是我的ansible控制器。我正在尝试从主机B ping一个带有“delegate_to”的IP地址。此IP地址位于主机D上的某个位置(主机D在资源清册中不可用),但我不知道如何使用ping模块来实现这一点。所以我使用的是命令模块 - name: Ping net1 command: 'ping -c 4 10.17.12.2' delegate_to:

我和Ansible主持了一个晚会。我有主机B(主机B在资源清册中不可用),我在其中执行几个带有“delegate_to”的命令。主机C是我的ansible控制器。我正在尝试从主机B ping一个带有“delegate_to”的IP地址。此IP地址位于主机D上的某个位置(主机D在资源清册中不可用),但我不知道如何使用ping模块来实现这一点。所以我使用的是命令模块

- name: Ping net1
  command: 'ping -c 4 10.17.12.2'
  delegate_to: 10.17.10.85
如何更好地实现相同的功能

一个Ansible“ping”实际上是在检查ssh,据我所知,没有一个Ansible模块用于检查主机之间的网络连接(可能使用wait_for?),因此这可能是最好的方法,虽然我会添加一个
changed\u when:false
,以正确反映此命令永远不会更改任何内容的事实:

- name: Ping net1
  command: 'ping -c 4 10.17.12.2'
  delegate_to: 10.17.10.85
  changed_when: false

等待
似乎是做这件事的标准方式

e、 g.(假设端口22将打开)

wait_for:
  host: 10.17.12.2
  port: 22
  delay: 5
  state: started
  timeout: 10
  delegate_to: 10.17.10.85