bootstrap

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

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

Подготовьте ваши системы Debian и Ubuntu для Ansible.

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

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

---
- name: Converge
  hosts: all
  become: true
  gather_facts: false

  roles:
    - role: tehtbl.bootstrap

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

---
- name: Prepare
  hosts: all
  become: true
  gather_facts: false

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

Эти переменные установлены в defaults/main.yml:

---
# ------------------------------------------------------------------------
# файл настроек для bootstrap
# ------------------------------------------------------------------------

# Пользователь, который будет использоваться для подключения к машинам.
bootstrap_user: root

# Установленное программное обеспечение для поддержки модулей, помеченных как "предварительный просмотр" (т.е. mysql_db).
# "да", "нет" или не установлено - допустимые значения.
bootstrap_preview: true

# Хотите ли вы дождаться, пока хост станет доступным?
bootstrap_wait_for_host: false

# Количество секунд, которое вы хотите подождать во время проверки соединения перед тем, как завершить с ошибкой.
bootstrap_timeout: 3

# Количество попыток в процессе установки
bootstrap_retries: 3

Требования

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

Контекст

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

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

Эта роль была протестирована на следующих Docker образах:

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

Эта роль была протестирована на следующих версиях Ansible:

Тестирование с помощью Tox

Юнит-тесты проводятся при каждом коммите, pull запросе, релизе и периодически.

Если вы обнаружите проблемы, пожалуйста, зарегистрируйте их в 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

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

Источники

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

О проекте

Prepare your Debian and Ubuntu Systems for Ansible.

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