Spec-Zone.ru › Ansible

Плагины обратного вызова

  • Примеры плагинов обратного вызова
  • Включение плагинов обратного вызова
  • Установка плагина обратного вызова для ansible-playbook
  • Установка плагина обратного вызова для команд ad hoc
  • Типы плагинов обратного вызова
  • Список плагинов

Плагины обратного вызова позволяют добавлять новые возможности в Ansible при реагировании на события. По умолчанию плагины обратного вызова контролируют большую часть вывода, который вы видите при запуске командной строки, но также могут использоваться для добавления дополнительного вывода, интеграции с другими инструментами и направления событий в хранилище данных. При необходимости, вы можете создать собственные плагины обратного вызова.

Примеры плагинов обратного вызова

Плагин обратного вызова log_plays служит примером записи событий playbook в файл журнала, а плагин обратного вызова mail отправляет электронные письма при сбоях playbook.

Плагин обратного вызова say отвечает синтезированной речью компьютера в связи с событиями playbook.

Включение плагинов обратного вызова

Вы можете активировать пользовательский плагин обратного вызова, в зависимости от его NEEDS_ENABLED свойства, поместив его в один из каталогов плагинов обратного вызова, настроенных в ansible.cfg, или в сборке, указав на него в конфигурации по FQCN.

Плагины загружаются в алфавитном порядке. Например, плагин, реализованный в файле с именем 1_first.py, будет выполняться перед файлом плагина с именем 2_second.py.

Большинство плагинов обратного вызова, поставляемых с Ansible, по умолчанию отключены и должны быть включены в вашем файле ansible.cfg, чтобы работать. Например:

#callbacks_enabled = timer, mail, profile_roles, collection_namespace.collection_name.custom_callback

Установка плагина обратного вызова для ansible-playbook

Вы можете иметь только один плагин в качестве основного менеджера вывода на консоль. Если вы хотите заменить стандартный, вы должны определить CALLBACK_TYPE = stdout в подклассе, а затем настроить плагин stdout в ansible.cfg. Например:

stdout_callback = dense

или для моего пользовательского плагина обратного вызова:

stdout_callback = mycallback

Это по умолчанию влияет только на ansible-playbook.

Установка плагина обратного вызова для команд ad hoc

Команда ansible ad hoc использует отдельный плагин обратного вызова для stdout, поэтому существует дополнительная настройка в Настройках конфигурации Ansible, которую необходимо добавить, чтобы использовать плагин обратного вызова stdout, определённый выше:

[defaults]
bin_ansible_callbacks=True

Вы также можете установить это как переменную среды:

export ANSIBLE_LOAD_CALLBACK_PLUGINS=1

Типы плагинов обратного вызова

Существует три типа плагинов обратного вызова:

Плагины обратного вызова stdout:

Эти плагины обрабатывают основной вывод консоли. Только один из них может быть активен.

Плагины обратного вызова агрегации:

Плагины обратного вызова агрегации могут добавлять дополнительный вывод консоли рядом с плагином обратного вызова stdout. Это может быть агрегированная информация в конце выполнения playbook, дополнительный вывод по каждой задаче или что-то ещё.

Плагины обратного вызова уведомлений:

Плагины обратного вызова уведомлений информируют другие приложения, службы или системы. Это может быть всё, от ведения журнала в базах данных до информирования об ошибках в приложениях мгновенных сообщений или отправки электронных писем, когда сервер недоступен.

Список плагинов

Вы можете использовать ansible-doc -t callback -l для просмотра списка доступных плагинов. Используйте ansible-doc -t callback <plugin name> для просмотра документации и примеров, специфичных для плагинов.

См. также

Плагины действий

Плагины действий

Плагины кэширования

Плагины кэширования

Плагины соединения

Плагины соединения

Плагины инвентаризации

Плагины инвентаризации

Плагины оболочки

Плагины оболочки

Плагины стратегии

Плагины стратегии

Плагины переменных

Плагины переменных

Связь

Есть вопросы? Нужна помощь? Хотите поделиться своими идеями? Посетите руководство по общению Ansible

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/plugins/callback.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API