盐栈:停止执行

时间:2016-07-28 06:49:47

标签: salt-stack

我正在检查一些配置文件,如果任何配置文件没有合适的消息,我想停止执行该脚本。

我正在尝试使用cmd.run打印邮件,然后退出,但这对我不起作用

SALTSTACK:
  {% if not that config is present %}
    cmd.run:
      - name:
          echo SUITABLE MESSAGE
          exit

2 个答案:

答案 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