我正在尝试通过Saltstack调用配置命令。如果命令失败,那么我得到状态失败,我不希望这样(命令的重新编码无关紧要)。
目前,我有以下解决方法:
Run something:
cmd.run:
- name: command_which_can_fail || true
有没有办法使用salt功能使这种状态忽略retcode?或者我可以从日志中排除这种状态?
答案 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
发出功能请求