gpt4 book ai didi

break - 如何成功停止 Ansible 任务,而不是失败?

转载 作者:行者123 更新时间:2023-12-04 00:47:02 32 4
gpt4 key购买 nike

我搜索了有关如何在不失败的情况下停止执行 Ansible 任务的示例。

一个简单的例子:

- name: check file
stat: path={{some_path}}
register: check_file_result

- name: if file exists, stop
**fail**: msg="file exists, stopping"
when: check_file_result.stat.exists

这在它停止执行时起作用,但由于大量红色 flavor 的文本而失败,可能会阻止整个剧本运行进一步的任务。有没有办法停止执行,就好像它以“OK”结束一样?

注意:解决方法是简单地添加“when:check_file_result.stat.exists == false”,但这扩展性很差。

最佳答案

如果在 check_file_result.stat.exists 时不想执行多个任务那么我可能会将所有这些任务封装在一个单独的文件中,然后有条件地 include 该文件,例如

- name: check file
stat: path={{ some_path }}
register: check_file_result

- include: file_ops.yml
when: check_file_result.stat.exists

示例目录结构:
|- roles/
|- foo
|- tasks
|- main.yml
|- file_ops.yml
|- vars
|- main.yml

使用这种方法是 DRY :-)

关于break - 如何成功停止 Ansible 任务,而不是失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25185018/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com