Aleksey
требуется еще тестер сам.
Lev
Видимо, неудобно оказалось 😊
англ версия про кухню http://www.goncharov.xyz/it/test-ansible-roles-via-testkitchen-inside-hyperv.html русска версия https://habr.com/en/post/437004/
Aleksey
я на прошглом проекте брал goss
Aleksey
на этом пока в размышлнениях pytest выглядит соблазнительно
Aleksey
Timur
testinfra/goss/...
Можно и без них
Lev
@ultralisc приспособил. но потом таки спрыгнул
все так. кухню взяли изначально т.к. в руби умели. но потом было некое множество боли, пострадали и пришли к более нативному решению в виде молекулы.
Timur
Тем более, что ни testinfra, ни goss с виндой нормально не работают, например
Aleksey
откуда в уравнении взялась винда ?
Timur
откуда в уравнении взялась винда ?
Знаете, бывает, что ансиблом сетапятся не только виндовые окружения
Timur
И роли бывают, которые поддерживают несколько платформ, включая винду
Timur
В последних версиях молекулы в качестве движка верификации можно использовать сам ансибл
Timur
Просто делается дополнительная тестовая плейбука для тестов верификации вместо testinfra/goss/inspec и т.п.
Timur
ох сочувствую вам.
Зачем нам сочувствовать?
Aleksey
В последних версиях молекулы в качестве движка верификации можно использовать сам ансибл
можно почитать чего ? я довольно давно не смотрел новости на эту тему
Timur
Timur
Странно подобные вопросы от вас слышать
Timur
Мы всего лишь пару фич туда законтрибьютали
Aleksey
🤷‍♂️
Logan
вы может сами не тестируете роли ?
лучший тестовый стенд - это продакшн
Aleksey
лучший тестовый стенд - это продакшн
таки этот канал сломан да.
Timur
https://molecule.readthedocs.io/en/stable/configuration.html#id25
Logan
мы используем кукикаттер с шаблоном от EPAM - нам нравится
Timur
Кому интересно
Logan
там молекула есть, но использовать ее не обязательно
Logan
таки этот канал сломан да.
этот мир сломан. Давно и прочно. Но именно это дает нам работу)
Timur
ссылку :)
https://github.com/lean-delivery/ansible-development-kit
Timur
Но мы же не тестируем роли. Это так - само собой получилось
Aleksey
почему его ?
Timur
почему его ?
Там сразу готовые сценарии из коробки генерятся
Timur
Под наши драйвера
Aleksey
ну вот :) а чего начинали то. нафиг этот ansible-galaxy init ?
Logan
почему его ?
там хороший шаблон роли - как самой роли так и преднастроек молекулы. то, что после molekule init надо дописать руками - этот шаблон предлагает сразу или почти сразу
Timur
ну вот :) а чего начинали то. нафиг этот ansible-galaxy init ?
Для начала хватит и такого. А потом можно и на молекулу с кукикаттером перейти
Logan
единственное что плохо - там нет батча, ну или я его не нашел. Я очень не люблю "интерактивные визарды". Я с винды ушел из-за этого)
Timur
я понял. новичком посчитали ага да
Ну, вопрос звучал как от явного новичка
A.Soroko
А теперь тупой вопрос: как решить вопрос логирования того что делал ансибл на хосте? Интересует кто, что катал и какие изменения. Вопрос вырос в среде,гдеираскатывают много людей из разных мест.
Aleksey
зависит от того насколько подробно надо
Logan
Какого батча?
ну чтобы можно было задать все нужные мне опции разом из командной строки и не отвечать на кучу последовательных вопросов. я ленивый.
Timur
https://cookiecutter.readthedocs.io/en/latest/advanced/user_config.html
Logan
о, спасибо
Timur
Подкладываете свой конфиг с настройками - и вперед
A.Soroko
вообще в journal оно попадает.
А вот не все туда попадает)
A.Soroko
Alex
а можно ли заменить конструкцию вида when: var1 == 'val1' or var1 == 'val2' or var1 == 'val3' на что то типа when: var1 in ('val1', 'val2', 'val3')
Aleksey
Квадратные скобки попробуй
Sheridan
да, лист в квадратных скобках
Aleksandr
Я не очень понял схему. Что за репа с конфигами nginx, отдельно от какого кода и при чем тут вообще ansible?
Есть сотня реп с java модулями. Эти модули после деплоя находятся за ОДНИМ реверс прокси, использую nginx. Регулярно разраб должен вместе с кодом java как то передавать кусок конфига nginx. Я хотел написать/переисполтзовать роль для ngnix для версионирования конфигов и провижининга nginx и держать ее в отдельной репе. Пока я вижу так, что разраб после пуша в репо с java, будет делать правки в репо с ngnix ролью, конфиг будет затемплейтин, локейшн и прочие стендозависимые переменные передаются в group_vars роли и т.д. Может есть другой аодход?
Timur
Нужно только отдельные темплейты подложить. Можно из отдельной репы
Timur
Можно поподробней?
Что именно подробнее?
Timur
Есть nginx, а есть его конфиги
Timur
При деплое у вас же только конфиги для отдельных микросервисов обновляются, как я понял?
Aleksandr
Да
Timur
Ну, вот и обновляйте эти отдельные кофиги. Зачем для этого роль для установки nginx?
Timur
В принципе, можно даже соответствующий конфиг прямо в репе с кодом java держать
Timur
Для единообразия
Timur
Чтобы для обновления одного сервиса не нужно было коммиты в разные репы делать
Timur
И версионировать проще
Aleksandr
И версионировать проще
У нас не msa, модули деплоятся на сервер приложений. Конфиг nginx сейчас идет полотном, без инклюдов, т.е. он должен быть общим для всех модулей. Если его распилить для каждого модуля, то вроде получается. Но ведь для передачи на разные среды его нужно темплейтить и далее где то скармливать ансиблу
Timur
nginx вполне поддерживает конфиги в виде отдельных файлов в директории
Eduard
Just as idea
Timur
Можно вообще по маске: include include/*.conf;
Гайрат
В дефолтном конфиге nginx есть один инклюд на директорию, куда можно кучу конфигов вставить
Также можно в каждом блоке server {} инклудить пофайлово на каждый location
Timur
https://github.com/egeneralov/ansible-nginx
А вместо таких велосипедов я бы рекомендовал родную роль от самого nginx юзать