ansible playbook检查从目标主机到服务器的可访问性

ansible playbook检查从目标主机到服务器的可访问性,ansible,Ansible,我正在使用以下剧本检查从目标主机192.168.153.31到8.8.8.8的连接 --- - hosts: 192.168.153.31 gather_facts: no tasks: - name: Ping net1 shell: | ping -c3 8.8.8.8 >/dev/null if [ $? -eq 0 ] then echo "ok" else

我正在使用以下剧本检查从目标主机192.168.153.31到8.8.8.8的连接

---
- hosts: 192.168.153.31
  gather_facts: no

  tasks:
  - name: Ping net1
    shell:  |
      ping -c3 8.8.8.8 >/dev/null
      if [ $? -eq 0 ]
      then
        echo "ok"
      else
        echo "nok"
      fi
    ignore_errors: true
    register: output

  - name: end playbook
    meta: end_host
    when: output.stdout == 'nok'

根据输出,我还有剩余的任务要执行。有没有更好的方法来验证连接?

您可以通过测试rc来简化代码,例如:

-命令:ping-c38.8.8.8
忽略错误:true
寄存器:输出
-meta:end_主机
时间:output.rc!=0
如果您可以在192.168.153.31运行playbook,并想测试Ansible是否可以连接到目标用户,例如

---
-主持人:8.8.8.8
收集事实:不
任务:
-名称:等待连接到net1
等待\u连接: