У меня есть сборник пьес со следующей задачей и секции обработчика (только сниппета):анзибль обработчики и модуль оболочки
tasks:
- name: 'Run legacy script and power off'
debug: msg="Preparing for reboot"
notify: Legacy sysprep
handlers:
- name: Enable Service1
service: name=service1 enabled=yes state=restarted
- name: Legacy sysprep
shell: /var/scripts/prep-reboot.sh
Когда я бегу пьес, я вижу сообщение отладки для выполнения этой задачи, которая вызывает Legacy sysprep
обработчик, и я вижу обработчик Enable Service1
, но обработчик Legacy sysprep
не вызывается (он не отображается в выходном файле воспроизведения и не запускается в системе), и серверы не перезагружаются (часть скрипта) ,
Да, я планирую перенести скрипт prep -reboot.sh в загрузочную книгу Ansible, но я был удивлен тем, что, по-видимому, модуль shell
не работает? Или есть ошибка, которую я забыл? Запуск с -vvv
не сообщает ничего неожиданного.
Ansible and Ansible-playbook version 2.1.1.0, работающий на RHEL 6.8.
Там нет никакого способа для любого из обработчиков для запуска в примере вы дали, потому что 'debug' возвратит' ok' статус. Тем не менее, вопрос непонятен. Пожалуйста, укажите ** проверяемый пример **. – techraf
@techraf - Спасибо за подсказку, я добавил «changed_when: true» в игру, а теперь триггеры обработчика. См. Ответ, который я опубликовал ниже. –