私は非常に広範なソルト設定を持っているので、何が変わったのかを見たいです。単にsalt '*' state.highstate
ログの3〜4画面など、存在していて変更されていないものを含むリスト全体を取得しました。しかし、私は本当に最後の仕事で変化したものだけを見たいです。
Salt呼び出しで機能する必要はありません。salt-run jobs.lookup_jid
。
state_verbose: False
または/etc/salt/master
で/etc/salt/minion
を設定できます。出力を状態ごとに1行に短縮する場合は、state_output: terse
を設定します。
コマンドラインでこれらのフィルターを渡すこともできます:
salt --state-output=terse '*' state.highstate
変更のみを表示する場合は、state-output=changes
またはstate-output=mixed
を使用できます。後者は、障害に関する詳細情報を表示します。
state_output: mixed
も追加しました。これはterse
と同じ出力を提供しますが、失敗がある場合を除き、その場合はより詳細な出力が提供されます。
実際に質問に答えるために、はい、変更のみの出力フィルターがあります:
salt '*' state.highstate --state-output=changes
これにより、適切な状態にあるものの1つのライナーと、変更に対する適切な出力が表示されます。すなわち:
<...>
Name: /etc/sudoers - Function: file.managed - Result: Clean
Name: /etc/timezone - Function: file.managed - Result: Clean
Name: /etc/pki/tls/certs/logstash-forwarder.crt - Function: file.managed - Result: Clean
Name: /etc/init.d/logstash-forwarder - Function: file.managed - Result: Clean
----------
ID: /etc/logstash-forwarder
Function: file.managed
Result: True
Comment: File /etc/logstash-forwarder updated
Started: 14:14:28.580950
Duration: 65.664 ms
Changes:
----------
diff:
---
+++
@@ -1,6 +1,6 @@
{
"network": {
- "servers": [ "10.0.0.104:5000" ],
+ "servers": [ "10.0.0.72:5000" ],
"timeout": 15,
"ssl ca": "/etc/pki/tls/certs/logstash-forwarder.crt"
},
Name: deb http://packages.elasticsearch.org/logstashforwarder/debian stable main - Function: pkgrepo.managed - Result: Clean
Name: logstash-forwarder - Function: pkg.installed - Result: Clean
<...>
2つのオプションがあります。1つ目は、受け入れられた回答に記載されているように、マスターの構成ファイルのstate_outputを変更することです。
salt --state-output=mixed \* test.version
Salt 2015.8.0に統合された次のPR( https://github.com/saltstack/salt/pull/26962 )では、state_verbose
フラグを切り替えることができるようになりましたhighstateの実行時のコマンドラインから。これは、以前の回答で言及した/etc/salt/master
で設定できる構成をオーバーライドします。
次のコマンドは、highstate run salt '*' state.highstate --state-verbose=False
からの変更とエラーのみを表示するはずです。
以下を使用して出力を1行に短縮し、その出力をフィルター処理して変更のみを表示できます。
salt -v 'minion' state.highstate test = True --state-output = terse --state-verbose = False