私はAnsible(バージョン2.2.1.0を実行しています)にはかなり新しく、これまでのところ基本的なディレクトリ構造に従っています。最近私はいくつかのタスクをhandlers
エリアに移そうとしましたが、私はちょっと変わった動作をしています。可能なハンドラは発砲していませんか?
マイツリー構造は、次のようになります。
host_inventory
host_vars
site.yml
roles
common
handlers
main.yml
meta
main.yml
tasks
main.yml
vars
main.yml
は2つだけ、関連するファイルは、(私が思う)本当にあります。
役割/共通/タスク/ main.yml:
---
- name: make test file
shell: "touch /home/hello"
notify: say goodbye
と役割/共通/ハンドラ/ main.ymlで
タスク/ main.ymlのこのバージョンは、ハンドラを呼び出すん。
---
- name: say goodbye
shell: "touch /home/goodbye"
これは、ハンドラを呼び出すことはありません:
役割/共通/タスク/ main.yml
の---
- name: test for file
stat:
path: /home/hello
notify: say goodbye
役割/共通/ハンドラ/ main.yml
---
- name: say goodbye
shell: "echo something"
私stat
タスクが自分のハンドラを呼び出すされていない理由を私は理解できません。
誰かが洞察力を提供できますか?私は何かが明らかに欠けているように感じる。
ありがとうございました。状態が変更されていなくても、タスクがハンドラを呼び出すように強制する方法はありますか? – prelic
いいえ。しかし、 'changed_when:true'ステートメントを使って常にタスク状態を'変更 'にすることができます。 –