playbook中的条件判断与错误处理
failed_when 和 changed_when
failed_when
关键字的作用是在条件成立时,将对应任务的执行状态设置为Failed
- 任务的执行结果控制:
- 在 Ansible 1.4 之前,fail模块
- 在 Ansible 1.4 之后,failed_when
changed_when
关键字的作用是在条件成立时,将对应任务的执行状态设置为changed
failed_when
在任务执行失败时,ansible-playbook会返回这个task failed,但是有些时候,我们希望playbook按照我们的意愿中断任务,以返回值中的特定字符串
做为 中断这个task的条件
,当条件成立时将对应任务的状态设置为失败,中止剧本。
failed_when 示例:
1 | --- |
changed_when
在使用command /shell 模块的时候ansible playbook 会按照自己的判断来决定是否changed了,有时候我们仅仅是ls 了一下,ansible-playbook 也会认为是changed了,可能这并不是我们想要的,这个时候我们就要用例子中方法来修改task的状态了
当changed_when状态被设置为false时,不管原任务状态为啥,最终都会被设置为ok状态
1 | --- |
在条件成立时,将任务状态改为changed
1 | --- |
参考文档:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 GO TO NEW WORLD!
评论