Python Ansible跳过无法访问的主机

Python Ansible跳过无法访问的主机,python,error-handling,ansible,ping,Python,Error Handling,Ansible,Ping,您好,我已经编写了一个脚本来ping所有清单主机。有些是VPN服务的后台,所以在我ping它们之前,我设置了一个隧道 但是,如果设置了通道,但ansible ping未成功,则整个播放将暂停,且后续任务均未执行通道未关闭/主机的其余可访问任务未执行 我怎样才能让这出戏继续下去,而跳过无法接触到的主持人呢?我看过元清除主机错误,但不是这样 这是我的剧本 - hosts: - liveservers-direct - liveservers-special - liveser

您好,我已经编写了一个脚本来ping所有清单主机。有些是VPN服务的后台,所以在我ping它们之前,我设置了一个隧道

但是,如果设置了通道,但ansible ping未成功,则整个播放将暂停,且后续任务均未执行通道未关闭/主机的其余可访问任务未执行

我怎样才能让这出戏继续下去,而跳过无法接触到的主持人呢?我看过元清除主机错误,但不是这样

这是我的剧本

- 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']}}"
致命:[server.behind.vpn]:无法访问!=>{changed:false,msg:无法通过ssh连接到主机:ssh:连接到主机10.xx.xx.xx端口22:连接超时\r\n,无法访问:true}


上面的错误发生在ping上,我如何使它跳过失败并继续处理其余的主机?现在,当到达无法访问的主机时,播放就停止了,但还需要检查一些内容

删除序列关键字确实解决了无法访问主机上暂停播放的问题。但是,我的VPN连接播放没有考虑并行处理,因此我必须改变这一点。

删除串行关键字确实解决了播放在无法访问的主机上暂停的问题。但是,我的VPN连接游戏并没有考虑并行处理,因此我必须改变这一点。

这将很快在即将发布的Ansible 2.7版中实现,并使用ignore_unreachable关键字

参见第2.7节的发行说明-

新关键字ignore_无法访问播放和区块。允许忽略由于无法访问主机而失败的任务,并使用is unreachable test检查结果


这将很快在即将发布的Ansible 2.7版中实现,并使用ignore_unreachable关键字

参见第2.7节的发行说明-

新关键字ignore_无法访问播放和区块。允许忽略由于无法访问主机而失败的任务,并使用is unreachable test检查结果


为什么串行:1?我认为在VPN后面一个接一个地运行服务器会更稳定。这些不多,通过删除它来解决问题怎么样?不起作用,它只会打开一个到第一个主机的通道,而所有其他通道都会失败。我认为你的问题源于你如何组织你的戏剧。您有一个连接到vpn、ping和断开连接的完整播放,因此如果此播放失败,将不会继续下一个播放。当一出戏失败时,整个剧本就停止了。我将研究将这两个非常相似的重头戏合并为一个重头戏,使用何时区分主机或真正的组特定任务。为什么连载:1?我认为在VPN后面逐个执行服务器会更稳定。这些不多,通过删除它来解决问题怎么样?不起作用,它只会打开一个到第一个主机的通道,而所有其他通道都会失败。我认为你的问题源于你如何组织你的戏剧。您有一个连接到vpn、ping和断开连接的完整播放,因此如果此播放失败,将不会继续下一个播放。当一出戏失败时,整个剧本就停止了。我将研究将这两个非常相似的剧本合并成一个剧本,并使用何时区分主持人或真正的团队特定任务。