如何获取失败的Ansible任务数并将其传递给下一个bash命令?
我使用Ansible执行到生产服务器的部署,并希望围绕它实现一些逻辑 我有一个bash脚本,看起来像这样:如何获取失败的Ansible任务数并将其传递给下一个bash命令?,bash,ansible,Bash,Ansible,我使用Ansible执行到生产服务器的部署,并希望围绕它实现一些逻辑 我有一个bash脚本,看起来像这样: #部署到第一组服务器 ansible playbook deploy.yml-i inventory.yml--限制“*.dc1.com” #部署到第二组服务器 ansible playbook deploy.yml-i inventory.yml--限制“*.dc2.com” 如果第一个ansible命令有超过5个失败的服务器(某个特定任务有超过5个失败),我想中止第二个命令的执行。为
#部署到第一组服务器
ansible playbook deploy.yml-i inventory.yml--限制“*.dc1.com”
#部署到第二组服务器
ansible playbook deploy.yml-i inventory.yml--限制“*.dc2.com”
如果第一个ansible命令有超过5个失败的服务器(某个特定任务有超过5个失败),我想中止第二个命令的执行。为了做到这一点,我需要从
ansible playbook
命令中获得任务失败的次数。除了解析ansible命令的输出外,还有什么方法可以做到这一点吗?我找不到任何关于这种情况的具体文档,但您可能想故意让一两台主机发生故障,然后在剧本的结尾处,查看故障计数是否存储在不正确的地方documented@mdaniel好主意。谢谢我会试试。难道你不能ansible playbook deploy.yml-I inventory.yml--limit“*.dc1.com”&&ansible playbook deploy.yml--I inventory.yml--limit“*.dc2.com”
然后在你有可接受的失败率时拯救任务吗?这样,整个ansible playbook
命令是否会失败取决于您实施的救援逻辑。@β.εηιτ.βε我无法找到如何获得失败率(或者仅仅是任务中失败主机的数量)。你有什么信息可以帮助你吗?