私は可能なコールバックで遊んでいて、v2_playbook_on_start(self, playbook)
メソッド内で実行されているプレイブックの名前(例えば "ansible-test")を使用したいと考えています。可能なコールバック:実行中のプレイブッブの名前を取得
はこれまでのところ、ここで私は
class CallbackModule(CallbackBase):
CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'notification'
CALLBACK_NAME = 'XXXX'
CALLBACK_NEEDS_WHITELIST = True
def __init__(self, display=None):
super(CallbackModule, self).__init__(display=display)
def v2_playbook_on_start(self, playbook):
# How to get the playbook name?
def v2_playbook_on_stats(self, stats):
# ...
私のカスタムコールバックをコーディングする方法である私はすでにいくつかのことを試してみましたが、何も今のところ機能しません: playbook._load_playbook_data
、playbook.__module__
そして私はに何かを見つけることができませんdocs。
この名前はどのように取得できますか?
注:私の場合、私は私のポイントを明確にするplaybook._basedir
EDIT
いくつかの詳細を使用することはできません。
はこれまでのところ、私の構造は、次のようなものです:
ここ- ansible-deploy-apache
- defaults
- main.yml
- tasks
- main.yml
- vars
- ...
は、脚本が実行タスクはtasks/main.yml
で定義されています。
playbook._file_name
は、tasks
からmain.yml
(内容ではなく、名前のみ)です。私がコールバックメソッドansible-deploy-apache
から持っていたいのは、ansible-deploy-apache
です。
'ansible-deploy-apache'がロールである場合、' main.yml'はタスクのリストでなければなりません。時間をかけてMCVEを作って、他の人が問題の行動を再現できるようにしてください。フォルダ構造、ファイル名、 'ansible-playbook'コマンドライン。 –