Saltstack:忽略cmd.run的结果

时间:2015-01-13 08:14:13

标签: salt-stack

我正在尝试通过Saltstack调用配置命令。如果命令失败,那么我得到状态失败,我不希望这样(命令的重新编码无关紧要)。

目前,我有以下解决方法:

Run something:
  cmd.run:
    - name: command_which_can_fail || true

有没有办法使用salt功能使这种状态忽略retcode?或者我可以从日志中排除这种状态?

3 个答案:

答案 0 :(得分:10)

使用check_cmd

fails:
  cmd.run:
    - name: /bin/false

succeeds:
  cmd.run:
    - name: /bin/false
    - check_cmd:
      - /bin/true

输出:

local:
----------
          ID: fails
    Function: cmd.run
        Name: /bin/false
      Result: False
     Comment: Command "/bin/false" run
     Started: 16:04:40.189840
    Duration: 7.347 ms
     Changes:
              ----------
              pid:
                  4021
              retcode:
                  1
              stderr:

              stdout:

----------
          ID: succeeds
    Function: cmd.run
        Name: /bin/false
      Result: True
     Comment: check_cmd determined the state succeeded
     Started: 16:04:40.197672
    Duration: 13.293 ms
     Changes:
              ----------
              pid:
                  4022
              retcode:
                  1
              stderr:

              stdout:


Summary
------------
Succeeded: 1 (changed=2)
Failed:    1
------------
Total states run:     2

答案 1 :(得分:3)

如果您不关心命令的结果,可以使用:

public MyPanel(){
        this.setLayout(new BorderLayout());

        text = new TextArea();
        text.setFont(f);
        add(BorderLayout.CENTER,text);
        add(BorderLayout.SOUTH,this.getSouthButton());

        c = Toolkit.getDefaultToolkit().getSystemClipboard();
        c.addFlavorListener(new FlavorListener() {

            @Override
            public void flavorsChanged(FlavorEvent e) {
                proccessClipboard(c);

            }
        });
    }

这是在Salt 2017.7.0中测试的,但可能适用于早期版本。

答案 2 :(得分:0)

Salt假设您在任何时候运行" cmd"状态,你的系统上会发生一些变化。所以它想在你的cmd失败时警告你。

我担心目前没有内置的方法可以忽略某些状态故障。您可以在https://github.com/saltstack/salt/issues

发出功能请求