我正在检查一些配置文件,如果任何配置文件没有合适的消息,我想停止执行该脚本。
我正在尝试使用cmd.run打印邮件,然后退出,但这对我不起作用
SALTSTACK:
{% if not that config is present %}
cmd.run:
- name:
echo SUITABLE MESSAGE
exit
答案 0 :(得分:0)
你为什么要以这种方式退出。 当任何状态失败时,执行将暂停。 您可以使用 file.exists 状态来检查特定配置文件是否存在。如果不是,国家将失败。检查salt文件状态:file.exists。
答案 1 :(得分:0)
有Failhard
option for salt。如果将其用作全局选项,则状态中的任何故障都将终止所有后续状态的执行。但你也可以有选择地使用它。
也许您可以将Failhard
选项添加到现有状态。
如果您想要一条特定的错误消息,您的示例的1:1翻译可能如下所示:
SALTSTACK:
cmd.run:
- name: bash -c test -e /tmp/notexist || (echo "unable to find file" && exit 1)
- failhard: True
这将产生这样的输出。错误消息在最后。
local:
----------
ID: SALTSTACK
Function: cmd.run
Name: bash -c test -e /tmp/notexist || (echo "unable to find file" && exit 1)
Result: False
Comment: Command "bash -c test -e /tmp/notexist || (echo "unable to find file" && exit 1)" run
Started: 21:30:34.473132
Duration: 7.353 ms
Changes:
----------
pid:
5499
retcode:
1
stderr:
stdout:
unable to find file