reboot#

Модуль ansible.builtin.reboot перезагружает управляемый узел и ожидает восстановления подключения к нему.

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

Для работы с узлами под управлением ОС Windows используйте модуль ansible.windows.win_reboot.

Параметры#

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

boot_time_command#

Команда, вывод которой меняется при каждой загрузке ОС. Это позволяет определить, была перезагрузка выполнена в действительности или нет.

Если указанная команда возвращает разные результаты без перезагрузки, задача завершится ошибкой.

Значение по умолчанию:

cat /proc/sys/kernel/random/boot_id
connect_timeout#

Максимальное время ожидания (в секундах) подключения к узлу после перезагрузки. Если не указано, используется значение по умолчанию из расширения подключения (connection plugin).

msg#

Сообщение для пользователей, отображаемое перед перезагрузкой.

Значение по умолчанию: Reboot initiated by Ansible.

post_reboot_delay#

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

Значение по умолчанию: 0.

pre_reboot_delay#

Время ожидания (в секундах) перед запуском команды перезагрузки.

В Linux, macOS и OpenBSD значение преобразуется в минуты и округляется в меньшую сторону. Если значение меньше 60, время ожидания будет равно 0.

В Solaris и FreeBSD время ожидания задается в секундах.

Значение по умолчанию: 0.

reboot_command#

Команда перезагрузки и ее параметры.

Значение этой настройки может быть задано двумя способами:

  • абсолютный путь, например:

    /usr/local/bin/my_reboot.sh
    
  • название исполняемого файла, который Ansible будет искать в списке, указанном в параметре search_paths.

При использовании этого параметра игнорируются значения параметров msg, pre_reboot_delay и post_reboot_delay.

Значение по умолчанию: выбирается автоматически в зависимости от типа ОС управляемого узла.

reboot_timeout#

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

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

Значение по умолчанию: 600 (10 минут).

search_paths#

Пути к каталогам на управляемом узле, в которых модуль будет искать команду выключения (shutdown).

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

Примечание

Используйте этот параметр только в том случае, когда команду shutdown не удается найти в каталогах по умолчанию.

Значение по умолчанию: ["/sbin", "/bin", "/usr/sbin", "/usr/bin", "/usr/local/sbin"].

test_command#

Команда проверки готовности узла к работе после перезагрузки.

Значение по умолчанию: whoami.

Возвращаемые значения#

В этом списке указаны только возвращаемые значения, специфичные для модуля ansible.builtin.reboot.

  • elapsed – время (в секундах), которое было потрачено на перезагрузку.

    Условия: всегда.

  • rebooted – был ли узел перезагружен.

    Возможные значения:

    • false – узел не был перезагружен;

    • true – узел был перезагружен.

Атрибуты#

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

Атрибут

Описание

action

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

async

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

bypass_host_loop

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

check_mode

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

diff_mode

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

platform

Модуль поддерживает только POSIX-совместимые ОС.

Примеры#

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

Перезагрузка без условий#

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

---
- name: Reboot
  ansible.builtin.reboot:

Перезагрузка с reboot_timeout#

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

---
- name: Rebooting using reboot_timeout
  ansible.builtin.reboot:
    reboot_timeout: 3600

Поиск команды перезагрузки#

Следующий пример демонстрирует перезагрузку узла с указанием пути к команде перезагрузки:

---
- name: Rebooting the node with the path to the reboot command
  ansible.builtin.reboot:
    search_paths:
      - /opt/custom/poweroff.sh

Установка команды перезагрузки#

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

---
- name: Custom reboot command
  ansible.builtin.reboot:
    reboot_command: launchctl reboot userspace
    boot_time_command: uptime | cut -d ' ' -f 5

Вывод сообщения#

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

---
- name: Reboot with message output
  ansible.builtin.reboot:
    msg: "Rebooting machine in 5 seconds"