SaltStack:slsファイルの単一の状態を呼び出す


12

slsファイルの単一の状態を呼び出せません。

slsファイル全体が機能する

これは動作します:

salt-ssh w123 state.sls monitoring

これは動作します:

salt-ssh w123 state.show_sls monitoring

上記の出力の1つの項目:

monitoring_packages:
    ----------
    __env__:
        base
    __sls__:
        monitoring.packages
    pkg:
        |_
          ----------
          pkgs:
              - python-psutil
        - installed
        |_
          ----------
          order:
              10000

私が試したもの

今、私はmonitoring_packagesslsファイル全体ではなく、のみを呼び出したい:

失敗:

salt:/srv # salt-ssh w123 state.sls_id monitoring_packages  monitoring
w123:
    Data failed to compile:
----------
    No matching sls found for 'monitoring' in env 'base'

失敗:

salt:/srv # salt-ssh w123 state.single monitoring.monitoring_packages
w123:
    TypeError encountered executing state.single: single() takes at least 2 arguments (1 given)

質問

私の単一の状態を呼び出す方法はmonitoring_packages

バージョン

salt:/srv # salt-ssh --version
salt-ssh 2015.8.3 (Beryllium)

回答:


11

私はこの投稿に出会いましたが、通常のソルト呼び出しでこれを行う方法を見つけようとしました(つまり、salt-sshではありません)。

次のSLSファイル(foo.sls)がある場合:

bar:
   file.managed:
       - source: salt://some/file

次のコマンドを実行して、状態ファイル内のそのエントリのみを実行できます。

salt '*' state.sls_id bar foo

また、私もこれを知りませんでした。ここでのコミットを指し示すGoogleグループディスカッションのコメントで答えを見つけた。



0
salt '*target*' state.sls  monitoring.<sls_file_name> <task name> -l debug

例:settings.slsという名前のslsファイルを持つelasticserachの状態があり、そのファイル内にrestart_elastic_searchタスクがあるとします。この特定のタスクを呼び出します。

salt '*elastic*' state.sls  elasticsearch.settings restart_elastic_search -l debug
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.