- Установите molecule и его драйвера:
pip3 install "molecule molecule_docker molecule_podman
. - Выполните
docker pull aragast/netology:latest
— это образ с podman, tox и несколькими пайтонами (3.7 и 3.9) внутри.
Ваша цель — настроить тестирование ваших ролей.
Задача — сделать сценарии тестирования для vector.
Ожидаемый результат — все сценарии успешно проходят тестирование ролей.
- Запустите
molecule test -s ubuntu_xenial
(или с любым другим сценарием, не имеет значения) внутри корневой директории clickhouse-role, посмотрите на вывод команды. Данная команда может отработать с ошибками или не отработать вовсе, это нормально. Наша цель - посмотреть как другие в реальном мире используют молекулу И из чего может состоять сценарий тестирования. - Перейдите в каталог с ролью vector-role и создайте сценарий тестирования по умолчанию при помощи
molecule init scenario --driver-name docker
. - Добавьте несколько разных дистрибутивов (oraclelinux:8, ubuntu:latest) для инстансов и протестируйте роль, исправьте найденные ошибки, если они есть.
- Добавьте несколько assert в verify.yml-файл для проверки работоспособности vector-role (проверка, что конфиг валидный, проверка успешности запуска и др.).
- Запустите тестирование роли повторно и проверьте, что оно прошло успешно.
- Добавьте новый тег на коммит с рабочим сценарием в соответствии с семантическим версионированием.
- Добавьте в директорию с vector-role файлы из директории.
- Запустите
docker run --privileged=True -v <path_to_repo>:/opt/vector-role -w /opt/vector-role -it aragast/netology:latest /bin/bash
, где path_to_repo — путь до корня репозитория с vector-role на вашей файловой системе. - Внутри контейнера выполните команду
tox
, посмотрите на вывод. - Создайте облегчённый сценарий для
molecule
с драйверомmolecule_podman
. Проверьте его на исполнимость. - Пропишите правильную команду в
tox.ini
, чтобы запускался облегчённый сценарий. - Запустите команду
tox
. Убедитесь, что всё отработало успешно. - Добавьте новый тег на коммит с рабочим сценарием в соответствии с семантическим версионированием.
После выполнения у вас должно получится два сценария molecule и один tox.ini файл в репозитории. Не забудьте указать в ответе теги решений Tox и Molecule заданий. В качестве решения пришлите ссылку на ваш репозиторий и скриншоты этапов выполнения задания.
- Проделайте схожие манипуляции для создания роли LightHouse.
- Создайте сценарий внутри любой из своих ролей, который умеет поднимать весь стек при помощи всех ролей.
- Убедитесь в работоспособности своего стека. Создайте отдельный verify.yml, который будет проверять работоспособность интеграции всех инструментов между ними.
- Выложите свои roles в репозитории.
В качестве решения пришлите ссылки и скриншоты этапов выполнения задания.
Выполненное домашнее задание пришлите в виде ссылки на .md-файл в вашем репозитории.