1
私はPython + Jinjaでリアクタを作成しようとしています。この文書には、YAML形式を使用して原子炉を作成する方法に関するかなり良い例があります。しかし、Pythonでリアクタを作成するためのドキュメントは、かなり欠けています。ここでsaltstack - Pythonで書かれた原子炉内の状態を実行します。
は、私がこれまでに得たものである:
#!jinja|py
"""
reactors can be also complete Python programs instead of Jinja + YAML
"""
def run():
'''
I can have fairly complex logic here, but it is all executed on the
master.
'''
# I can define variable like this
var = "{{ data['id'] }}" # this is the id of the minion that sent the signal
# I can call a salt module like this:
__salt__['pkg.install']('figlet') # this will install figlet on the master
return {}
ドキュメントはSLSファイルが高い状態データを返す実行と呼ばれる機能が含まれている必要があり
を述べています。
しかし、これまでのところ、私はこの辞書からどのようにして目的のミニオンをターゲットにすることができないのか分かりません。 私はsalt APIを使うことができますが、私は現時点でこれを避けたいと思います。
正しい状態データを返すことで、状態とターゲットとミニオンを呼び出す方法の例を挙げることができますか?
私はその深い原子炉のトピックではないんだけど、スニペットに基づいて、私は '__salt __ [moduleNameの](* argsを、** kwargsから)するAPIを引き受ける'、これに基づいてはなりです'__salt __ ['state.highstate']()'がハイステートを呼び出すことを期待してください。 – dahrens
オハイオ州 - 私は理解している間に理解している - 上記は、マスターを強調するでしょうか? – dahrens
はい、これはマスターをハイステートにします。私がしたいのは、原子炉が別のノードで何かを実行することです。オーケストレーションに関する例は少し限定されています。 – Oz123