Ansible:来自远程主机的Ping

时间:2016-05-30 12:31:05

标签: ansible ansible-playbook

我有一个主管A管理Ansible。我有主机B(主机B在库存中不可用),我用" delegate_to"执行几个命令。主机C是我的安慰控制器。我试图用" delegate_to"来ping主机B的ipaddress。这个ipaddress是主机D上的某个地方(主机D在库存中不可用),但是我不知道如何使用ping模块来实现这一点。所以我正在使用命令模块。

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

如何以更好的方式实现相同的功能?

2 个答案:

答案 0 :(得分:1)

An Ansible" ping"实际上是在检查ssh,据我所知,没有一个Ansible模块来检查主机之间的网络连接(可能使用wait_for吗?)所以这可能是最好的方法,虽然我会添加一个{ {1}}正确地反映了这个命令永远不会改变的事实:

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

答案 1 :(得分:0)

wait_for似乎是标准方法。

例如(假设端口22将打开)

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