从Ansible Playbook内无法访问的主机恢复

从Ansible Playbook内无法访问的主机恢复,ansible,ansible-playbook,Ansible,Ansible Playbook,我有一个Ansible playbook,用于自动备份服务器和数据库(都在同一个VM上) 昨晚在playbook的运行过程中,rsync遇到了主机无法访问的错误,playbook失败了。我不知道在无法访问主机的情况下不会执行块的“rescue”部分。这导致救援无法运行,我们备份的服务也没有上线,这意味着许多人早上无法工作 我正在寻找一种方法来捕获类似“failed_when”的主机不可访问错误,这样我就可以执行一项任务,在这种情况再次发生时启动服务 有人有什么想法吗?到目前为止,Ansible不

我有一个Ansible playbook,用于自动备份服务器和数据库(都在同一个VM上)

昨晚在playbook的运行过程中,rsync遇到了主机无法访问的错误,playbook失败了。我不知道在无法访问主机的情况下不会执行块的“rescue”部分。这导致救援无法运行,我们备份的服务也没有上线,这意味着许多人早上无法工作

我正在寻找一种方法来捕获类似“failed_when”的主机不可访问错误,这样我就可以执行一项任务,在这种情况再次发生时启动服务


有人有什么想法吗?

到目前为止,Ansible不可能做到这一点。现在有一种简单的方法可以忽略无法访问的主机。
ignore\u unreachable:true

通过条件跟踪处理无法访问的主机(比没有更好的解决方案):


你能发布你的剧本吗(至少是阻止/救援部分)?如果你在包含中使用阻止/救援/始终,请注意Ansible中有未解决的问题:我似乎无法完成这项工作-你能提供一个很好的例子吗?也许我的期望与它的设计不一致。
tasks:

  - name: This task will fail
    command: /bin/false
    ignore_unreachable: true
    register: command_result

  - name: This task will start only if host is unreachable
    command: /bin/true
    when: command_result.stdout is undefined