ansible - 检查哪些主机在 ansible 中失败了 playbook

标签 ansible

我有 2 个剧本在 ansible 上运行,一个接一个。剧本 1 完成后,我想在第一个剧本完全成功的主机上运行第二个剧本。浏览 ansible 文档,我找不到任何有关哪些主机未通过特定剧本的可访问信息。这怎么能做到呢?

仅供引用,我需要单独的剧本,因为第二个剧本必须串行运行,即 only available at the playbook level

最佳答案

其中所有主机 - 成功主机 = 失败主机,您可以使用以下任务来获取剧中所有主机(包括失败主机)和所有失败主机的两个特殊变量之间的差异还没有失败。使用serial会影响结果。

    - name: Print play hosts that failed
      debug:
        msg: "The hosts that failed are {{ ansible_play_hosts_all| difference(ansible_play_batch) |join('\n') }}"

来源:https://docs.ansible.com/ansible/latest/reference_appendices/special_variables.html

关于ansible - 检查哪些主机在 ansible 中失败了 playbook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28553879/

相关文章:

loops - 循环变量 Ansible 的多个值

ansible - 设置 Ansible 模板模块的备份日期格式

ssh - 如何配置 Ansible 以使用我的本地 SSH 配置?

Ansible:regex_search 过滤器比较以及如何调试 when 子句

tomcat - 在 OpenShift Origin 中公开服务不起作用

Ansible 无法将文件传输到/command

django - 如何在 Ansible 中以幂等方式创建 Django super 用户?

docker - 通过 Ansible 执行 docker-compose pull

linux - 带有任务变量的 ansible 调用处理程序

azure - 登录 Azure cli 以获取服务主体