У меня небольшая проблема с относительно легкой ролью в нашей настройке ansible tower 3.3.0, и я просто не вижу своей ошибки:
В /roles/ntp/tasks/main.yml:
---
- name: copy ntp config
copy:
src: files/ntp.conf
dest: /etc/ntp.conf
owner: root
group: root
mode: 0644
notify: restart ntpd
В /roles/ntp/handlers/main.yml:
---
- name: stop ntpd
service:
name: ntpd
state: stopped
listen: "restart ntpd"
- name: sync time once
shell: ntpdate 10.0.0.999
listen: "restart ntpd"
- name: start ntpd
service:
name: ntpd
state: started
enabled: yes
listen: "restart ntpd"
Включение этого в полную пьесу дает ошибку: ERROR! The requested handler 'restart ntpd' was not found in either the main handlers list nor in the listening handlers list
После этого выполнение хоста завершается неудачно, повторное выполнение той же самой книги воспроизведения не меняет конфигурацию и, следовательно, завершается.
Если я заменю три задачи этим фрагментом, notify
сработает:
---
- name: restart ntpd
service:
name: ntpd
state: restarted
Кажется, что каталоги и notify
работают, просто listen
сломан. Версия Ansible Tower - 3.3.0, и она должна содержать Ansible 2.6.2.