Анзибль. Запустить обработчик на определенном хосте

Мне нужно собрать некоторую информацию во время запуска 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-бегуна. См. Отправка статуса бегуна и событий во внешние системы.

Другие вопросы по тегам