Плагины обратного вызова
Плагины обратного вызова позволяют добавлять новые возможности в Ansible при ответе на события. По умолчанию плагины обратного вызова контролируют большую часть вывода, который вы видите при выполнении командной строки, но также могут использоваться для добавления дополнительного вывода, интеграции с другими инструментами и передачи событий в хранилище.
Примеры плагинов обратного вызова
Плагин обратного вызова _plays — пример того, как записывать события выполнения playbook в файл журнала, а плагин mail отправляет электронные письма при сбоях в выполнении playbook.
Плагин osx_say отвечает компьютерным синтезированным голосом на события OS X в отношении событий выполнения playbook.
Включение плагинов обратного вызова
Вы можете активировать пользовательский плагин обратного вызова, поместив его в директорию callback_plugins рядом с вашим playbook, внутри роли или поместив его в один из каталогов callback, указанных в настройках ansible.cfg.
Плагины загружаются в алфавитном порядке. Например, плагин, реализованный в файле с именем 1_first.py будет выполняться до файла плагина с именем 2_second.py.
Большинство плагинов обратного вызова, поставляемых с Ansible, по умолчанию отключены и должны быть включены в вашем файле ansible.cfg, чтобы работать. Например:
#callback_whitelist = timer, mail, profile_roles
Управление stdout
Вы можете иметь только один плагин, который будет основным менеджером вывода в консоль. Если вы хотите заменить стандартный, вы должны определить CALLBACK_TYPE = stdout в подклассе, а затем настроить плагин stdout в ansible.cfg. Например:
stdout_callback = dense
или для моего пользовательского плагина обратного вызова:
stdout_callback = mycallback
Это влияет только на ansible-playbook по умолчанию.
Управление AdHoc
Команда ansible ad hoc специально использует другой плагин обратного вызова для stdout, поэтому существует дополнительная настройка в Настройки конфигурации Ansible, которую необходимо добавить, чтобы использовать плагин обратного вызова stdout, определенный выше:
[defaults] bin_ansible_callbacks=True
Вы также можете установить это как переменную среды:
export ANSIBLE_LOAD_CALLBACK_PLUGINS=1
Список плагинов
Вы можете использовать ansible-doc -t callback -l для просмотра списка доступных плагинов. Используйте ansible-doc -t callback <plugin name> для просмотра конкретных документов и примеров.
- actionable — отображает только элементы, требующие внимания
- cgroup_memory_recap — Профилирует максимальное использование памяти задачами и полное выполнение с помощью cgroup
- context_demo — демонстрационный плагин обратного вызова, добавляющий контекст play/task
- debug — отформатированный вывод stdout/stderr
- default — стандартный вывод Ansible на экран
- dense — минимальный вывод stdout
- foreman — Отправка событий в Foreman
- full_skip — подавление задач, если все узлы пропущены
- grafana_annotations — отправка событий ansible в качестве аннотаций на графиках в grafana через http api.
- hipchat — публикация событий задач в hipchat
- jabber — публикация событий задач на сервер jabber
- json — вывод Ansible на экране в формате JSON
- junit — запись вывода playbook в файл JUnit.
- log_plays — запись вывода playbook в файл журнала
- logentries — Отправка событий в Logentries
- logstash — Отправка событий в Logstash
- mail — Отправка событий сбоев по электронной почте
- minimal — минимальный вывод Ansible на экран
- null — Не отображать ничего на экране
- oneline — вывод Ansible на экране в одну строку
- osx_say — вывод Ansible на экране в одну строку
- profile_roles — добавляет информацию о времени выполнения ролям
- profile_tasks — добавляет информацию о времени выполнения задачам
- selective — вывод только определенных задач
- skippy — вывод Ansible на экране, игнорирующий пропущенный статус
- slack — Отправка событий play в канал Slack
- stderr — Разделяет вывод, отправляя завершившиеся задачи в stderr
- sumologic — Отправка событий результатов задач в Sumologic
- syslog_json — отправляет JSON-события в syslog
- timer — Добавление времени к статистике play
- tree — Сохранение событий хоста в файлы
- unixy — сокращенный вывод Ansible
- yaml — вывод Ansible на экране в формате yaml
См. также
- Плагины действий
- Плагины действий Ansible
- Плагины кэширования
- Плагины кэширования Ansible
- Плагины подключения
- Плагины подключения Ansible
- Плагины инвентаризации
- Плагины инвентаризации Ansible
- Плагины оболочки
- Плагины оболочки Ansible
- Плагины стратегии
- Плагины стратегии Ansible
- Плагины переменных
- Плагины переменных Ansible
- Список рассылки пользователей
- У вас есть вопрос? Загляните в группу google!
- webchat.freenode.net
- #ansible IRC чат-канал
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/plugins/callback.html