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:
- ansible>=2.8, <2.9
- ansible>=2.9
- git+https://github.com/ansible/ansible.git@devel
Тестирование с использованием 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