Ansible ロールで別のプレイブックを実行するハンドラー

Ansible ロールで別のプレイブックを実行するハンドラー

ハンドラーは、含まれているプレイブックの一部である場合、どのように動作しますか? 私は 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のホスト名を継承して正常に実行されます。

これが誰かの役に立つことを願います。

関連情報