私は、次のタスクとハンドラのセクション(ちょうどスニペット)と脚本を持っている:Ansibleハンドラとシェルモジュール
tasks:
- name: 'Run legacy script and power off'
debug: msg="Preparing for reboot"
notify: Legacy sysprep
handlers:
- name: Enable Service1
service: name=service1 enabled=yes state=restarted
- name: Legacy sysprep
shell: /var/scripts/prep-reboot.sh
私は脚本を実行すると、私はLegacy sysprep
を呼び出しタスクのデバッグメッセージを参照してくださいハンドラが実行されていますが、Enable Service1
ハンドラが実行されていますが、Legacy sysprep
ハンドラが呼び出されていない(プレイブックの出力には表示されず、システムでも実行されません)、サーバはリブートされません(スクリプトの一部) 。
はい、私はprep-reboot.shスクリプトをAnsibleプレイブックに移行する予定ですが、明らかにshell
モジュールが機能していないようです。それとも私が見落としたエラーはありますか? -vvv
で実行しても、予期しないことは報告されません。
RHEL 6.8で実行される、安全で安心できるプレイブックバージョン2.1.1.0。
は、あなたが与えられている例で実行するためのハンドラのいずれかのための方法はありません。それは、質問は理解できないと言いました。 **確認可能な**例を提供してください。 – techraf
@techraf - ヒントをお寄せいただきありがとうございます。私は "changed_when:true"をプレイに追加しました。今度はハンドラがトリガします。私が下に投稿した答えを見てください。 –