2017-05-03 4 views

答えて

1

特定の状態は、別の状態が正常に適用された場合にのみ適用されるように指定することもできます。このように:

vim: 
    pkg.installed: [] 

/etc/vimrc: 
    file.managed: 
    - source: salt://edit/vimrc 
    - require: 
     - pkg: vim 

vimrcファイルは、vimパッケージが正常にインストールされている場合にのみ管理されます。 vimがすでにインストールされている場合、またはこの状態の後に新しいインストールされたパッケージである場合、それは気にしません。 pkg:vimが正常にインストールされると、2番目の状態が実行されます。

これは、特に状態が悪化する可能性がある場合に便利です。他のすべての州にrequireを追加して、特にこの州が成功した場合にのみ適用されるようにすることができます。

あなたの質問にお答えします: state.sls内のすべての状態が失敗した場合、失敗することはできません。この問題を回避するには、state.slsをsalt '*' state.apply state test=Trueと実行して何が起こるかを確認します。状態の1つが失敗すると、実際に状態を適用しないことを決定できます。

これがあなたの質問に答えることを願っています。まだ不明な点がある場合は、

+0

おかげで文書化されて

:)これは、私は物事が正しい方法で行っていることを確認するために必要なものです。 – Anatoly

2

に応じて、すべての状態と必要なものが失敗します。他のSLSファイルをものも含めてから、

abort_on_failure_state_example: 
    test.fail_without_changes: 
    - failhard: True 

ありませんさらに状態

が実行されます: は、単一の状態の障害に全体の実行を中止する

選択肢があります。 私はそれを使用して、状態を適用する前にいくつかの必要なグレインが設定されていることを確認します。これはhttps://docs.saltstack.com/en/latest/ref/states/failhard.html

関連する問題