Обратный вызов#
В коллекцию ansible.builtin входят следующие расширения обратного вызова:
default;junit;minimal;oneline;tree.
default#
По умолчанию утилита ansible-playbook использует это расширение для вывода данных в стандартный поток.
Расширение принимает следующие параметры:
- check_mode_markers#
Переключатель отображения маркеров при запуске в режиме проверки (check mode). При выполнении команды
ansible-playbook --checkвыводится маркерDRY RUNв начале и конце выполнения набора сценариев, а также добавляется суффиксCHECK MODEк каждому сценарию и задаче, выполняющимся в режиме проверки.Значение по умолчанию:
false.Параметр можно передать следующими способами:
Конфигурационный файл
ansible.cfg:[defaults] check_mode_markers = True
Переменная окружения
ANSIBLE_CHECK_MODE_MARKERS.
- display_failed_stderr#
Переключатель, который позволяет изменить поток вывода для задач, завершившихся со статусами
failedиunreachable. Если значение параметраtrue, сообщения об ошибках и недоступных узлах будут отправляться в стандартный поток ошибок (stderr), а не в стандартный поток вывода (stdout).Значение по умолчанию:
false.Параметр можно передать следующими способами:
Конфигурационный файл
ansible.cfg:[defaults] display_failed_stderr = True
Переменная окружения
ANSIBLE_DISPLAY_FAILED_STDERR.
- display_ok_hosts#
Переключатель, управляющий отображением в выводе успешных задач и узлов.
Значение по умолчанию:
true.Параметр можно передать следующими способами:
Конфигурационный файл
ansible.cfg:[defaults] display_ok_hosts = False
Переменная окружения
ANSIBLE_DISPLAY_OK_HOSTS.
- display_skipped_hosts#
Переключатель, управляющий отображением в выводе пропущенных задач и узлов.
Значение по умолчанию:
true.Параметр можно передать следующими способами:
Конфигурационный файл
ansible.cfg:[defaults] display_skipped_hosts = False
Переменная окружения
ANSIBLE_DISPLAY_SKIPPED_HOSTS.
- result_format#
Формат вывода результатов заданий. Использование этой настройки не означает, что вывод будет представлять собой корректный файл формата JSON или YAML. Вывод будет содержать данные в выбранном формате, а также дополнительные служебные данные, не предназначенные для машинного анализа.
Возможные значения:
json(по умолчанию);yaml.
Параметр можно передать следующими способами:
Конфигурационный файл
ansible.cfg:[defaults] callback_result_format = yaml
Переменная окружения
ANSIBLE_CALLBACK_RESULT_FORMAT.
- pretty_results#
Переключатель, определяющий оформление вывода. Если параметр имеет значение
true, то вывод будет преобразован в удобный для чтения человеком формат.Значение по умолчанию зависит от значения параметра
result_format:yaml–true;json–false.
При установке значения
trueрасширение будет принудительно выводить результаты в отформатированном виде вне зависимости от уровня подробности (verbosity).Предупреждение
Включение этого параметра вместе с параметром
result_formatв значенииyamlможет повлиять на точность вывода. Для корректного вывода установитеfalseили выберите форматjson.Параметр можно передать следующими способами:
Конфигурационный файл
ansible.cfg:[defaults] callback_format_pretty = True
Переменная окружения
ANSIBLE_CALLBACK_FORMAT_PRETTY.
- show_custom_stats#
Переключатель, который отвечает за отображение в выводе пользовательских статистик, заданных с помощью
set_stats.Значение по умолчанию:
false.Параметр можно передать следующими способами:
Конфигурационный файл
ansible.cfg:[defaults] show_custom_stats = True
Переменная окружения
ANSIBLE_SHOW_CUSTOM_STATS.
- show_per_host_start#
Переключатель, управляющий выводом сообщения о начале выполнения каждой задачи для каждого узла.
Значение по умолчанию:
false.Параметр можно передать следующими способами:
Конфигурационный файл
ansible.cfg:[defaults] show_per_host_start = True
Переменная окружения
ANSIBLE_SHOW_PER_HOST_START.
- show_task_path_on_failure#
Переключатель, который включает отображение пути к файлу и строки, в которой определена задача, при ее сбое. Эта информация также автоматически появляется при запуске с уровнем подробности
-vvили выше.Значение по умолчанию:
false.Параметр можно передать следующими способами:
Конфигурационный файл
ansible.cfg:[defaults] show_task_path_on_failure = True
Переменная окружения
ANSIBLE_SHOW_TASK_PATH_ON_FAILURE.
junit#
Это расширение выводит результаты работы набора сценариев в формате JUnit XML. Это агрегирующее расширение, которое не заменяет расширение для вывода данных в стандартный поток, а работает параллельно с ним.
Сопоставление статусов#
В отчете JUnit каждое выполнение задачи из набора сценариев будет классифицироваться по определенным правилам. Ansible сопоставляет свои статусы со статусами в формате JUnit. Логика сопоставления статусов приведена в таблице:
Статус задачи в Ansible |
Дополнительные условия |
Статус в JUnit |
|---|---|---|
|
– |
|
|
Если в названии задачи есть строка |
|
|
Если в названии задачи есть строка |
|
|
Если в названии задачи есть строка |
|
|
Если это ошибка исключения Python |
|
|
Во всех остальных случаях |
|
|
– |
|
Параметры#
Расширение принимает следующие параметры:
- fail_on_change#
Переключатель, который позволяет считать задачу со статусом
changedошибкой.Значение по умолчанию:
false.Параметр можно передать с помощью переменной окружения
JUNIT_FAIL_ON_CHANGE.
- fail_on_ignore#
Переключатель, который позволяет считать задачу ошибочной в отчете JUnit, даже если для нее установлен параметр
ignore_errors.Значение по умолчанию:
false.Параметр можно передать с помощью переменной окружения
JUNIT_FAIL_ON_IGNORE.
- hide_task_arguments#
Переключатель, скрывающий аргументы задачи в итоговом отчете.
Значение по умолчанию:
false.Параметр можно передать с помощью переменной окружения
JUNIT_HIDE_TASK_ARGUMENTS.
- include_setup_tasks_in_report#
Переключатель, управляющий включением служебных задач setup в итоговый отчет.
Значение по умолчанию:
true.Параметр можно передать с помощью переменной окружения
JUNIT_INCLUDE_SETUP_TASKS_IN_REPORT.
- output_dir#
Путь к каталогу, в который будет записан отчет JUnit в формате XML.
Значение по умолчанию:
~/.ansible.log.Параметр можно передать с помощью переменной окружения
JUNIT_OUTPUT_DIR.
- replace_out_of_tree_path#
Заменяет часть пути к задаче, если она находится вне основного рабочего каталога, на заданную строку.
Значение по умолчанию:
none.Параметр можно передать с помощью переменной окружения
JUNIT_REPLACE_OUT_OF_TREE_PATH.
- task_class#
Переключатель, определяющий оформление отчета в виде одного класса на каждый файл формата YAML.
Значение по умолчанию:
false.Параметр можно передать с помощью переменной окружения
JUNIT_TASK_CLASS.
- task_relative_path#
Относительный путь для задачи в итоговом отчете относительно указанного каталога.
Значение по умолчанию:
none.Параметр можно передать с помощью переменной окружения
JUNIT_TASK_RELATIVE_PATH.
- test_case_prefix#
Префикс, по которому задача будет определяться как тест для JUnit. Задачи, завершившиеся с ошибкой и имеющие такой префикс, будут записываться как ошибки.
Значение по умолчанию:
''(пустая строка).Параметр можно передать с помощью переменной окружения
JUNIT_TEST_CASE_PREFIX.
minimal#
По умолчанию отдельные команды используют это расширение для вывода данных в стандартный поток.
Расширение принимает следующие параметры:
- pretty_results#
Переключатель, определяющий оформление вывода. Если параметр имеет значение
true, то вывод будет преобразован в удобный для чтения человеком формат.Значение по умолчанию зависит от значения параметра
result_format:yaml–true;json–false.
При установке значения
trueрасширение будет принудительно выводить результаты в отформатированном виде вне зависимости от уровня подробности (verbosity).Предупреждение
Включение этого параметра вместе с параметром
result_formatв значенииyamlможет повлиять на точность вывода. Для корректного вывода установитеfalseили выберите форматjson.Параметр можно передать следующими способами:
Конфигурационный файл
ansible.cfg:[defaults] callback_format_pretty = True
Переменная окружения
ANSIBLE_CALLBACK_FORMAT_PRETTY.
- result_format#
Формат вывода результатов заданий. Использование этой настройки не означает, что вывод будет представлять собой корректный файл формата JSON или YAML. Вывод будет содержать данные в выбранном формате, а также дополнительные служебные данные, не предназначенные для машинного анализа.
Возможные значения:
json(по умолчанию);yaml.
Параметр можно передать следующими способами:
Конфигурационный файл
ansible.cfg:[defaults] callback_result_format = yaml
Переменная окружения
ANSIBLE_CALLBACK_RESULT_FORMAT.
oneline#
Это расширение для вывода данных в однострочном формате.
Оно используется при запуске отдельных команд с аргументом командной строки -o или --one-line, например:
ansible all -m ping -o
tree#
Это расширение уведомляющего типа. Оно позволяет сохранять события в виде файлов в формате JSON. Для каждого узла создается отдельный файл в указанном каталоге.
Чтобы использовать расширение, передайте аргумент командной строки -t или --tree при запуске отдельной команды, например:
ansible all -m ping --tree /.ansible/tree
Расширение принимает следующие параметры:
- directory#
Путь к каталогу, в который будут сохраняться файлы в формате JSON для каждого узла.
Значение по умолчанию:
~/.ansible/tree.Параметр можно передать следующими способами:
Конфигурационный файл
ansible.cfg:[callback_tree] directory = /path/to/dir
Переменная окружения
ANSIBLE_CALLBACK_TREE_DIR.