Анзибль. Запустить обработчик на определенном хосте
Мне нужно собрать некоторую информацию во время запуска ansible и распечатать эту информацию в конце.
Я попытался определить пустую переменную списка в роли. Я добавил в обработчик playbook, который добавляет новое значение в список и выводит значение этой переменной в конце playbook.
set_fact:
manual_tasks: "{{ manual_tasks + ['restart apache'] }}"
Я скучаю по тому, что связано с хостом set_fact. Так что это решение перестает работать, как только я начну использовать разные хосты. Delegate_to также не решает проблему. Есть ли способ сделать этот список глобальным? Или любое другое решение существует?
1 ответ
Q: Add new value to list and print it at the end of the playbook. Is there way to make this list global?
A: Нет. Это не так. " Глобальная область действия задается конфигурацией, переменными среды и командной строкой". Хост не может установить set_fact в игровой или глобальной области видимости.
Возможно, вы захотите взглянуть на ansible-бегуна. См. Отправка статуса бегуна и событий во внешние системы.