debug#
Модуль ansible.builtin.debug выводит на экран значения выражений и переменных.
Это позволяет отлаживать сценарии без их остановки.
Особенности работы#
Этот модуль может быть полезен при отладке совместно с директивой when:.
Модуль может быть использован при настройке узлов под управлением ОС Windows.
Параметры#
Модуль принимает следующие параметры:
- msg#
Строка сообщения или список строк с сообщениями.
Этот параметр нельзя использовать одновременно с
var.Значение по умолчанию: Hello world!.
- var#
Название переменной.
Этот параметр нельзя использовать одновременно с
msg.Примечание
При обработке значения параметра автоматически выполняется интерполяция с помощью шаблонизатора Jinja. Обертывать выражение в
{{}}не нужно.
- verbosity#
Уровень подробности, необходимый для попадания сообщения в стандартный поток вывода Ansible.
Для вывода сообщения необходимо соответствующее количество аргументов
-vпри вызове утилит Ansible.Значение по умолчанию:
0(сообщения выводятся всегда).
Атрибуты#
Атрибуты определяют функции Ansible, которые может использовать модуль.
Атрибут |
Описание |
|---|---|
|
Модуль имеет соответствующее расширение действия (action plugin), которое выполняет работу на управляющем узле. |
|
Модуль не поддерживает асинхронное выполнение. |
|
Модуль не поддерживает повышение привилегий. |
|
Модуль не поддерживает глобальное выполнение задачи.
Условия срабатывают при использовании |
|
Модуль работает в режиме проверки ( |
|
Модуль не использует информацию о настройках подключения к целевому узлу при выполнении заданий на нем. |
|
Модуль частично поддерживает |
|
Модуль не поддерживает режим сравнения ( |
|
Модуль поддерживает все платформы. |
Примеры#
Для изучения возможностей модуля ознакомьтесь с приведенными ниже примерами.
Вывод информации о системном менеджере пакетов#
Следующий пример проверяет тип ОС управляемого узла. Если узел работает под управлением ОС Linux, модуль выводит название системного менеджера пакетов.
Важно
Чтобы сведения о менеджере пакетов попали в стандартный поток вывода Ansible, при запуске задания укажите степень подробности вывода не ниже -vvv.
При более низком уровне подробности задача будет пропущена, так как для параметра verbosity задано значение 3.
---
- name: Getting system package manager name
hosts: all
tasks:
- name: Print package manager name
ansible.builtin.debug:
msg: "{{ ansible_facts['pkg_mgr'] }}"
when: ansible_facts['system'] == 'Linux'
verbosity: 3
Результат выполнения задания:
"msg": "apt"
Несколько записей в значении msg#
Следующий пример демонстрирует использование списка в качестве значения параметра msg:
---
- name: Pretty hardware info
hosts: all
tasks:
- name: Print hardware info
ansible.builtin.debug:
msg:
- "CPU cores : {{ ansible_facts['processor_cores'] }}"
- "RAM size : {{ ansible_facts['memory_mb']['real']['total'] }} MB"
- "PATH variable : {{ lookup('ansible.builtin.env', 'PATH') }}"
Результат выполнения заданий (значения будут отличаться в зависимости от параметров управляемого узла):
Вывод информации о предыдущем задании#
Следующий пример демонстрирует поведение модуля при выводе данных о предыдущем задании:
---
- name: Show info about boot ID
hosts: all
tasks:
# First task
- name: Get boot ID
ansible.builtin.shell: /usr/bin/cat /proc/sys/kernel/random/boot_id
register: boot_ID
# Second task
- name: Print boot ID task data
ansible.builtin.debug:
var: boot_ID
Результат выполнения задания: