web-dev-qa-db-ja.com

saltconfig.getはパッケージのインストールステータスを返しません

init.slsを使用して、salt-minion(Centos 6.6)にnodejsをインストールしました。

manager-requirements:
  pkg.latest:
    - pkgs:
      - nodejs    

ミニオンにはnodejsがインストールされており、使用できます。

config.getsalt-masterを実行してインストールステータスを取得すると、空白のエントリが返されます。

salt '*' config.get pkg:nodejs

戻り値、

Minion-Host-name:

Nodejsのインストールステータスを戻り値でTrueと期待していましたが、そこにはありません。

config.getは、ミニオンにインストールされているパッケージについて問い合わせるのに適切なインターフェースですか?

1
Saravana Kumar

salt.modules.config は、ソルトミニオン/マスターの状態に関するものです。必要なのは salt.modules.pkg

salt '*' pkg.version nodejs python Ruby    
salt '*' pkg.install nodejs
salt '*' pkg.install pkgs='["nodejs","python", "Ruby"]'

完全なドキュメントはパッケージャー固有のモジュールの下にあります: aptyumbrewpacmanpkgngpkginipsetc

システムの状態を説明するようにsaltに要求する(「パッケージnodejsがインストールされていますか」)か、何かをする(「パッケージnodejsをインストールする」)代わりに、推奨されるソルトイディオムは、おそらく状態ファイルまたは問題の単一状態をチェックまたは強制することです( what/init.sls)with state.sls

salt '*' state.sls whatever test=true           # does a dry run
salt '*' state.sls whatever                     # actually applies the state
salt '*' state.sls_id state_name whatever       # single state from whatever/init.sls

しかし、正直に言うと、 cmd.run を使用した迅速で汚いサニティチェックが成功することがよくあります。

salt '*' cmd.run "node --version"
salt '*' cmd.run "dpkg -l |grep salt-minion""
0
notpeter