Моя книга
---
- name: Nuovo server GV
gather_facts: no
hosts:
- new-gv.vm
roles:
- ssh_configuration
handlers:
- name: Restart sshd
service:
name: sshd
state: restarted
в ssh_configuration
файл задач есть это
- name: Setup alternate SSH port
become: yes
become_method: su
become_user: root
lineinfile:
dest: "/etc/ssh/sshd_config"
regexp: "^Port"
line: "Port {{ configured_port }}"
notify:
- Restart sshd
Проблема в том, что Restart sshd НЕ выполняется.
Я пробовал и повторял много раз чистый перезапуск, и я уверен: добавление строки «Порт 1122» добавляется в файл удаленного хоста.
Я спрашиваю, как диагностировать проблему, не могу понять, не сработал ли обработчик или по какой-то причине сломался.
Я также пробовал добавить
- name: Ensure SSH is reloaded if need be
meta: flush_handlers
в -vvvv
режим я вижу ТОЛЬКО
META: ran handlers
Но я ожидал раздела «ЗАПУСК ПОГРУЗЧИКА», если не ошибаюсь
Я уверен, что это не Ansible Bug, это только из-за моей неопытности
Проблема здесь в том, что обработчик определен в playbook
когда это должно было быть определено в роли. Место
- name: Restart sshd
service:
name: sshd
state: restarted
внутри roles/ssh_configuration/handlers/main.yml
и он должен работать.
Я удалил определение обработчика из книги игр.
я создал /roles/ssh_configuration/handlers/main.yml
:
- name: Restart sshd
service:
name: sshd
state: restarted
Изменен playbook в
---
- name: Nuovo server GV
gather_facts: no
hosts:
- new-gv.vm
roles:
- ssh_configuration
handlers:
- include_tasks: roles/ssh_configuration/handlers/main.yml
это работает