update
Описание роли
Устанавливает обновления на вашей системе.
Пример плейбука
Этот пример взят из molecule/default/converge.yml
и тестируется при каждом коммите, запросе на слияние и выпуске.
---
- имя: Конвергенция
хосты: все
становятся: true
собирают_факты: false
роли:
- роль: tehtbl.update
Машина, на которой вы выполняете это, может потребовать подготовки. Я использую этот плейбук, чтобы убедиться, что все готово для работы роли.
---
- имя: Подготовка
хосты: все
становятся: true
собирают_факты: false
роли:
- tehtbl.bootstrap
Переменные роли
Эти переменные определены в defaults/main.yml
:
---
# ------------------------------------------------------------------------
# файл по умолчанию для обновления
# ------------------------------------------------------------------------
# Для APT (Debian/Ubuntu) только: удалите неиспользуемые зависимости для всех модулей, кроме `build-dep'
update_autoremove: false
# Для APT (Debian/Ubuntu) только: тип apt_upgrade, который может быть: dist, full, yes или safe
update_upgrade_command: safe
# Для APT (Debian/Ubuntu) только: обновите кэш apt, если он старше, чем cache_valid_time. Устанавливается в секундах.
update_cache_valid_time: 7200
# При обновлении систем может потребоваться перезагрузка. Здесь вы можете выбрать:
# "yes": всегда перезагружайте, когда пакеты изменились.
# "no": никогда не перезагружайте, когда пакеты изменились.
update_reboot: true
Требования
- Доступ к репозиторию с пакетами, вероятно, в интернете.
- Совсем недавняя версия Ansible. (Тесты проводятся на текущем, предыдущем и следующем выпусках Ansible.)
Следующие роли могут быть установлены для обеспечения выполнения всех требований с помощью ansible-galaxy install -r requirements.yml
:
- tehtbl.reboot
Контекст
Эта роль является частью многих совместимых ролей. Посмотрите на мои другие роли для получения дополнительной информации.
Совместимость
Эта роль была протестирована на следующих 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
Информация об авторе
Источники
Эта работа основана на отличной работе многих людей, таких как Роберт де Бок, Джефф Гирлинг и Томас Вальдман. Спасибо!
Install updates on your system.
ansible-galaxy install tehtbl/ansible-role-update