すべてのubuntuクライアントなど、ミニオンのグループにいくつかの状態を適用したいとします。適用するまでに、一部のミニオンがオフラインになっている可能性があります。
ミニオンにプッシュされる状態は、メッセージバスにどのくらいの期間残りますか?この問題に取り組み、ミニオンがオンラインに戻ったときにミニオンの状態を変更するために、どのような戦略を提案しますか? salt-call state.highstate
を実行するよりも、ミニオンプル状態を作成するためのより良い方法はありますか?
ソルトにはいわゆる リアクターシステム が付属しており、ニーズに合うはずです。
以下はテストされておらず、リンクされたドキュメントから抜粋したものです。
/etc/salt/master.d/reactor.conf
:
reactor:
- 'salt/minion/*/start': # Match the start event
- /srv/reactor/start.sls # Things to do when a minion starts
/srv/reactor/start.sls
:
highstate_run:
local.state.apply:
- tgt: {{ data['id'] }} # data included event data, id is the minion id.
これにより、eachミニオンがstate.highstate
ソルトマスターへの接続を開いた後。