Обратный вызов#

В коллекцию 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:

  • yamltrue;

  • jsonfalse.

При установке значения 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

ок

pass

failed

Если в названии задачи есть строка EXPECTED FAILURE

pass

failed

Если в названии задачи есть строка TOGGLE RESULT

pass

ок

Если в названии задачи есть строка TOGGLE RESULT

failure

failed

Если это ошибка исключения Python

error

failed

Во всех остальных случаях

failure

skipped

skipped

Параметры#

Расширение принимает следующие параметры:

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:

  • yamltrue;

  • jsonfalse.

При установке значения 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.