reboot

Статус сборки

Описание роли

Перезагрузите вашу систему, если это необходимо.

Пример плейбука

Этот пример взят из molecule/default/converge.yml и тестируется при каждом пуше, запросе на слияние и релизе.

---
- name: Сходиться
  hosts: all
  become: true
  gather_facts: false

  roles:
    - role: tehtbl.reboot

Машина, на которой вы запускаете это, может потребовать подготовки. Я использую этот плейбук, чтобы убедиться, что все на месте для работы роли.

---
- name: Подготовка
  hosts: all
  become: true
  gather_facts: false

  roles:
    - role: tehtbl.bootstrap

Переменные роли

Эти переменные задаются в defaults/main.yml:

---
# ------------------------------------------------------------------------
# файл по умолчанию для перезагрузки
# ------------------------------------------------------------------------

# Некоторые операционные системы могут определить, требуется ли перезагрузка. Этот
# параметр можно установить на всегда перезагружать.
reboot_always: false

# Как долго ждать перед отправкой перезагрузки.
reboot_delay: 4

# Количество секунд ожидания перед проверкой, запущена ли машина.
reboot_up_delay: 8

# Вы можете указать сообщение для перезагрузки, это упростит аудит.
reboot_message: "перезагрузка через Ansible роль tehtbl.reboot"

Требования

  • Доступ к репозиторию, содержащему пакеты, вероятно, в интернете.
  • Последняя версия Ansible. (Тесты проводятся на текущем, предыдущем и следующем релизе Ansible.)

Контекст

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

Совместимость

Эта роль была протестирована на этих Docker образах:

контейнер метка разрешенные ошибки
debian stable нет
debian testing нет
debian unstable да
ubuntu xenial да
ubuntu bionic нет
ubuntu focal нет
ubuntu devel да

Эта роль была протестирована на этих версиях Ansible:

Тестирование с использованием Tox

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

Если вы найдете проблемы, пожалуйста, зарегистрируйте их в GitHub

Тестирование выполняется с использованием Tox и Molecule:

Tox тестирует несколько версий Ansible. Molecule тестирует несколько дистрибутивов.

Чтобы протестировать с настройками по умолчанию (любая установленная версия Ansible, пространство имен: tehtbl, образ: ubuntu, метка: latest):

molecule test

# Или выбрать конкретный образ:
IMAGE="ubuntu" molecule test

# Или выбрать конкретный образ и конкретную метку:
IMAGE="debian" TAG="stable" tox

Вы также можете протестировать несколько версий Ansible и выбрать правильные образы:

Tox позволяет тестировать несколько версий Ansible. Чтобы запустить тесты по умолчанию (пространство имен: tehtbl, образ: ubuntu, метка: latest):

tox

# Чтобы запустить Ubuntu (пространство имен: `tehtbl`, метка: `latest`)
IMAGE="ubuntu" tox

# Или настроить больше:
IMAGE="debian" TAG="stable" tox -e py37-ansible-current

Тестирование с использованием Vagrant

Установите плагины vagrant через:

vagrant plugin install vagrant-reload

Запустите тесты через VirtualBox провайдер:

vagrant up

Лицензия

MIT License

Информация об авторе

Источники

Эта работа основана на отличной работе многих людей, например, Robert de Bock, Jeff Geerling и Thomas Waldmann. Спасибо!

Установить
ansible-galaxy install tehtbl/ansible-role-reboot
Лицензия
mit
Загрузки
4221
Владелец