Spec-Zone.ru › Ansible 2.7
  • Примеры плагинов обратного вызова
  • Включение плагинов обратного вызова
    • Управление stdout
    • Управление AdHoc
  • Список плагинов

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

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

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

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

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

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

Вы можете активировать пользовательский плагин обратного вызова, поместив его в каталог callback_plugins рядом с вашим сценарием, внутри роли или в одном из каталогов источников плагинов обратного вызова, настроенных в 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 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 — Профилирует максимальное использование памяти задачами и полное выполнение с использованием cgroups
  • context_demo — демонстрационный плагин обратного вызова, который добавляет контекст сценария/задачи
  • counter_enabled — добавляет счётчики в выходные данные (задачи и хосты/задача)
  • 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 — записывает выходные данные сценария в файл JUnit.
  • log_plays — записывает выходные данные сценария в файл журнала
  • logdna — Отправляет журналы сценария в LogDNA
  • logentries — Отправляет события в Logentries
  • logstash — Отправляет события в Logstash
  • mail — Отправляет события об ошибках по электронной почте
  • minimal — минимальный вывод Ansible в консоль
  • null — Не отображать ничего в консоль
  • oneline — вывод Ansible в консоль в одну строку
  • osx_say — вывод Ansible в консоль в одну строку
  • profile_roles — добавляет информацию о времени выполнения ролей
  • profile_tasks — добавляет информацию о времени выполнения задач
  • selective — выводит только определённые задачи
  • skippy — вывод Ansible в консоль, игнорирующий пропущенные статусы
  • slack — Отправляет события сценария в канал Slack
  • splunk — Отправляет события результатов задач в Splunk HTTP Event Collector
  • stderr — Разделяет вывод, отправляя неудавшиеся задачи в stderr
  • sumologic — Отправляет события результатов задач в Sumologic
  • syslog_json — отправляет события в формате JSON в syslog
  • timer — Добавляет время к статистике сценария
  • 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.7/plugins/callback.html

Spec-Zone.ru

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