Syn*_*ons 0 python error-handling ping ansible
您好,我编写了一个脚本来ping我的所有清单主机。VPN服务背后有一些服务,因此在对它们进行ping操作之前,我先建立了一条隧道。
这可以正常工作,但是,如果建立了隧道,但可听见的ping不能成功完成整个播放,只是暂停并且后续的任何任务都没有执行(隧道没有关闭/无法到达主机的其余任务没有执行)
我如何才能继续播放并跳过无法访问的主机?我看过“ meta clear_host_errors”,但事实并非如此。
这是我的剧本
- hosts:
- liveservers-direct
- liveservers-special
- liveservers-keypair
- testservers-direct
- testservers-special
- testservers-keypair
- intern
gather_facts: no
strategy: debug
become: no
tasks:
- name: Ping some servers
ping:
- hosts:
- liveservers-vpn
- testservers-vpn
strategy: debug
gather_facts: no
become: no
serial: 1
vars_files:
- ../roles/vpn/vars/customers.yml
tasks:
- include: ../roles/vpn/tasks/connect.yml icao="{{hostvars[inventory_hostname]['icao']}}"
- ping:
- name:
meta: clear_host_errors
- include: ../roles/vpn/tasks/disconnect.yml icao="{{hostvars[inventory_hostname]['icao']}}"
Run Code Online (Sandbox Code Playgroud)
致命的:[server.behind.vpn]:莫名其妙!=> {“已更改”:false,“ msg”:“无法通过ssh连接到主机:ssh:连接到主机10.xx.xx.xx端口22:连接超时\ r \ n”,“无法访问” :true}
上面的错误发生在“ ping”上,如何使它跳过故障并仅继续处理其余主机?当播放器到达无法访问的主机时,播放器现在停止了,但是还需要检查一些
在即将到来的2.7版本的Ansible中,使用ignore_unreachable关键字将很快实现此目的。
请参阅2.7的发行说明-https: //github.com/ansible/ansible/blob/stable-2.7/changelogs/CHANGELOG-v2.7.rst#major-changes
ignore_unreachable戏剧和街区的新关键字。允许忽略由于主机不可达而失败的任务,并检查测试结果是否可达。
| 归档时间: |
|
| 查看次数: |
6466 次 |
| 最近记录: |