Ansible notify не находит слушателя в той же роли - PullRequest
0 голосов
/ 04 января 2019

У меня небольшая проблема с относительно легкой ролью в нашей настройке 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.

...