【问题标题】:Ansible skip unreachable hostsAnsible 跳过无法访问的主机
【发布时间】:2018-06-07 22:29:42
【问题描述】:

您好,我已经编写了一个脚本来 ping 我所有的库存主机。有些在 VPN 服务之后,所以在我可以 ping 它们之前,我建立了一个隧道。

这可以正常工作,但是如果隧道已设置但 ansible 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']}}"

致命:[server.behind.vpn]:无法访问! => {"changed": false, "msg": "无法通过 ssh 连接到主机:ssh: 连接到主机 10.xx.xx.xx 端口 22: 连接超时\r\n", "无法访问" : 真的}

在“ping”时发生上述错误我如何让它跳过失败并继续使用其余主机?当播放到达无法访问的主机时,播放现在停止,但需要检查更多

【问题讨论】:

  • 为什么是serial: 1
  • 认为将VPN后面的服务器一个一个做起来会更稳定。 (这些并不多)
  • 如何通过删除来解决您的问题?
  • 不起作用,它只是打开了一个通往第一台主机的隧道,而所有其他隧道都失败了。事情变得更糟
  • 我认为你的问题源于你如何组织你的戏剧。你有一个完整的游戏连接到 vpn、ping 和断开连接,所以如果这个游戏失败,它将不会继续下一个游戏。当一个剧本失败时,它会使整个剧本停止。我会研究使用when 将这两个非常相似的游戏组合成一个游戏来区分主机(或真正的组)特定任务。

标签: python error-handling ansible ping


【解决方案1】:

删除 serial 关键字确实解决了播放在无法访问的主机上停止的问题。但是,我的 VPN 连接播放并未考虑并行处理,因此我必须更改它。

【讨论】:

    【解决方案2】:

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

    查看 2.7 的发行说明 - https://github.com/ansible/ansible/blob/stable-2.7/changelogs/CHANGELOG-v2.7.rst#major-changes

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

    【讨论】:

      猜你喜欢
      • 2021-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-21
      • 2014-01-15
      • 1970-01-01
      相关资源
      最近更新 更多