失败后在盐中重试指令

时间:2014-07-11 11:10:44

标签: deployment setup-deployment salt-stack

我正在使用salt来解决我的部署问题并提出以下问题。

是否有任何机制可以重试命令?

例如我有一些这样的事情:

platform_deps_git:
  git.latest:
    - name: ...
    - rev: master
    - target: ...
    - user: ...
    - identity: ...

但有时网络可能会失败。有没有办法重试platform_deps_git指令?

3 个答案:

答案 0 :(得分:3)

Salt的下一个版本(2014.7.0)将有一个" onfail"必要的。如果出现故障,这将允许您采取其他措施。

文档在这里:

http://docs.saltstack.com/en/latest/ref/states/requisites.html#onfail

答案 1 :(得分:0)

每当我运行一个highstate时,我所做的就是通过salt输出grep,如果它看到任何失败,我会重新运行highstate。

答案 2 :(得分:0)

2017年添加了first-class retry mechanism,用于各州:

platform_deps_git:
  git.latest:
    - name: ...
    - rev: master
    - target: ...
    - user: ...
    - identity: ...
    - retry:
        attempts: 5
        until: True
        interval: 60
        splay: 10

retry选项支持一些不同的选项来控制其行为。