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 plugin), которое выполняет работу на управляющем узле. |
|
Модуль не поддерживает асинхронное выполнение. |
|
Модуль не выполняется как глобальная задача. Для каждого узла выполняется отдельный цикл с учетом всех ограничений. |
|
Модуль поддерживает режим проверки. |
|
Модуль не поддерживает режим сравнения. |
|
Модуль поддерживает только 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"