我正在编写一个Ansible 2.x回调插件,我希望能够根据v2_playbook_on_stats
函数中的某些条件使用非零退出代码使当前的playbook失败。
我已经尝试过raise AnsibleError()
,但是它被链接到某个地方被视为警告,这使得Ansible可以使用零退出代码完成。
我也尝试使用self._display.error()
,但似乎什么也没做,只显示错误信息,然后Ansible再次以零退出代码完成。
有什么办法可以满足我的要求吗?或者回调插件从来没有让开发人员将剧本的状态改为失败?
感谢您的时间。
答案 0 :(得分:1)
也面临同样的问题,我发现我可以使用python的sys.exit(x)
(x是各种退出代码)来停止或失败该剧本。
答案 1 :(得分:0)
你不能用回调做到这一点,策略插件是你的选择。
子类需要插件(例如linear
),扩展run方法根据您的条件返回非零值,它将由PlaybookExecutor和cli翻译为程序退出代码。