ansible - Ansible 任务失败但继续运行
问题描述
我目前正在为 Ansible 编写一堆检查。
它涉及联系远程机器并执行检查。
根据这次检查的结果,我决定它是否失败。
这是重要的一点:任务本身永远不会失败。它只是返回一条消息。我注册结果然后分析它。基于此,我决定它是否失败。
问题是,我想添加一个允许测试继续运行而不是失败的标志。
所以代码看起来像这样:
- name: Check fail.
fail:
msg: "Test failed"
when: "failfast_flag and <the actual check>"
问题是,如果我制作 failfast_flag false
,它不再输出红色。
在这种情况下,我希望它继续进行下一个测试,但我也希望它变成红色,表示它是一个错误/失败。
我该如何做到这一点?
编辑:感谢您的建议,我会尝试一下。
解决方案
不确定我是否完全理解您的问题,但您可以使用- block
andrescue
结构来处理故障并在故障情况下继续执行剧本:
例子:
- block:
- name: Check fail.
fail:
msg: "Test failed"
when: "failfast_flag and <the actual check>"
rescue:
- name: do somthing when the task above fails
command: <do somthing>
推荐阅读
- mysql - MySQL:查询具有两个多对多关系和重复项,具有双中间表
- python - 网状错误:AttributeError:“列表”对象没有属性“形状”
- python - Django中URL架构设计的最佳实践
- python - 如何检查iterable1中的任何元素是否存在于Python中相同索引的iterable2中?
- asp.net-core - .Net-Core IdentityServer - 不支持类型
- mysql - 任何人都可以帮助我将本机 sql 更改为 sequelize 方法
- yii2 - 在 yii2 的子文件夹中创建控制器
- serverless-framework - 使用无服务器框架调用 step 函数失败(“stepf”不是有效的子命令)
- javascript - 使用 onClick 在 Table.Row 中单击时转到链接
- java - Heroku - 由于测功机过载,Java 服务不断崩溃