gpt4 book ai didi

python - Ansible跳过无法访问的主机

转载 作者:行者123 更新时间:2023-12-03 07:45:27 25 4
gpt4 key购买 nike

您好,我编写了一个脚本来ping我所有的 list 主机。有些服务落后于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']}}"

fatal: [server.behind.vpn]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: connect to host 10.xx.xx.xx port 22: Connection timed out\r\n", "unreachable": 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

New keyword ignore_unreachable for plays and blocks. Allows ignoring tasks that fail due to unreachable hosts, and check results with is unreachable test.

关于python - Ansible跳过无法访问的主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47989446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com