У нас есть одна роль Ansible, которая должна запускать три задачи в файле задачи handlers/main.yml
, но она запускает только первую задачу. Как заставить его выполнять две другие задачи? У меня есть флаг 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
Запускается только первая задача обработчика (shutdown openfire).