debug#

Модуль ansible.builtin.debug выводит на экран значения выражений и переменных. Это позволяет отлаживать сценарии без их остановки.

Особенности работы#

Этот модуль может быть полезен при отладке совместно с директивой when:.

Модуль может быть использован при настройке узлов под управлением ОС Windows.

Параметры#

Модуль принимает следующие параметры:

msg#

Строка сообщения или список строк с сообщениями.

Этот параметр нельзя использовать одновременно с var.

Значение по умолчанию: Hello world!.

var#

Название переменной.

Этот параметр нельзя использовать одновременно с msg.

Примечание

При обработке значения параметра автоматически выполняется интерполяция с помощью шаблонизатора Jinja. Обертывать выражение в {{}} не нужно.

verbosity#

Уровень подробности, необходимый для попадания сообщения в стандартный поток вывода Ansible.

Для вывода сообщения необходимо соответствующее количество аргументов -v при вызове утилит Ansible.

Значение по умолчанию: 0 (сообщения выводятся всегда).

Атрибуты#

Атрибуты определяют функции Ansible, которые может использовать модуль.

Атрибут

Описание

action

Модуль имеет соответствующее расширение действия (action plugin), которое выполняет работу на управляющем узле.

async

Модуль не поддерживает асинхронное выполнение.

become

Модуль не поддерживает повышение привилегий.

bypass_host_loop

Модуль не поддерживает глобальное выполнение задачи. Условия срабатывают при использовании run_once. Значения переменных берутся с первого доступного узла. Это действие не работает при использовании стратегии, отличной от lockstep.

check_mode

Модуль работает в режиме проверки (check_mode) в полном объеме. Режим проверки позволяет узнать, какие сообщения будут выведены при выполнении задачи.

connection

Модуль не использует информацию о настройках подключения к целевому узлу при выполнении заданий на нем.

delegation

Модуль частично поддерживает delegate_to. Помимо register или в сочетании с delegate_facts это не имеет значительного эффекта.

diff_mode

Модуль не поддерживает режим сравнения (diff_mode).

platfom

Модуль поддерживает все платформы.

Примеры#

Для изучения возможностей модуля ознакомьтесь с приведенными ниже примерами.

Вывод информации о системном менеджере пакетов#

Следующий пример проверяет тип ОС управляемого узла. Если узел работает под управлением ОС 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') }}"

Результат выполнения заданий (значения будут отличаться в зависимости от параметров управляемого узла):

"msg": [
    "CPU cores     : 1",
    "RAM size      : 3915 MB",
    "PATH variable : /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
]

Вывод информации о предыдущем задании#

Следующий пример демонстрирует поведение модуля при выводе данных о предыдущем задании:

---
- 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

Результат выполнения задания:

"boot_ID": {
    "changed": true,
    "cmd": "/usr/bin/cat /proc/sys/kernel/random/boot_id",
    "delta": "0:00:00.003464",
    "end": "2025-07-03 18:08:32.620777",
    "failed": false,
    "msg": "",
    "rc": 0,
    "start": "2025-07-03 18:08:32.617313",
    "stderr": "",
    "stderr_lines": [],
    "stdout": "29cf5b25-3ecd-419c-83af-f4758c55cb80",
    "stdout_lines": [
        "29cf5b25-3ecd-419c-83af-f4758c55cb80"
    ]
}