タスク ファイルで3 つのタスクを実行する必要がある 1 つの Ansible ロールがありますhandlers/main.yml
が、最初のタスクしか実行しません。他の 2 つのタスクを強制的に実行するにはどうすればよいですか? ignore
最初のタスクが失敗した場合のフラグをオンにしています。
tasks/main.yml
ファイルは次のようになります。
- name: openfire | Copy plugins into openfire/plugins
copy: src={{ srcdir }}/xmpp/{{ item }} dest=${bindir}/openfire/plugins/{{ item }}
with_items:
- x.jar
- y.jar
sudo: yes
sudo_user: ${tomcat_user}
notify: restart openfire
- name: openfire | Copy jars into openfire/lib
copy: src={{ srcdir }}/xmpp/{{ item }} dest=${bindir}/openfire/lib/{{ item }}
with_items:
- a.jar
- b.jar
sudo: yes
sudo_user: ${tomcat_user}
notify: restart openfire
handlers/main.yml
ファイルは次のようになります。
- name: restart openfire
service: name=openfire state=stopped
ignore_errors: true
sudo: yes
- name: restart openfire
file: path=/var/run/openfire.pid state=absent
sudo: yes
- name: restart openfire
service: name=openfire state=restarted enabled=yes
sudo: yes
最初のハンドラー タスク (openfire のシャットダウン) のみが実行されます。