ハンドラーは、含まれているプレイブックの一部である場合、どのように動作しますか? 私は 3 つのプレイブックを使用しており、私の理解では、Ansible はそれらを順番に実行します。 2 番目のプレイブックの一部として構成されたハンドラーがあります (続行する前に、新しく作成された VM が起動しているかどうかを確認します)。ただし、これは 3 番目のプレイブックである yum update の後に実行されます。
ロール内のメインタスクファイル
# tasks file for baseline
- include: vmbuild.yml
- include: vmconfig.yml
- include: yum-update.yml
ハンドラーは handlers/main.yml に設定されていますが、2 番目のプレイブックがタスクを完了した後に 3 番目のプレイブックが実行されるべきではないでしょうか?
答え1
ロールとともにを定義することでこれを機能させることができましたpost_tasks
。このようにして、プレイブック内の他のすべてのタスクが実行されると、最後のステップ(yum update)は最後のステップからVMのホスト名を継承して正常に実行されます。
これが誰かの役に立つことを願います。