Created
September 24, 2019 07:02
-
-
Save patsevanton/d6e7988da1f47a55f2395d4835a4530b to your computer and use it in GitHub Desktop.
Тестирование ролей ansible
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Lev Goncharov: | |
люди добрые. расскажите кто как тестирует свои роли в ansible? | |
Я пробовал разные подходы | |
- при тестирование развертывания SDS (software-defined storage): gitlab / vagrant / ruby / docker / bash / ansible / serverspec / virtualbox ~60 фактически на интеграционные тесты развертывания. | |
- test Ansible roles: ansible / hyper-v / jenkins / testkitchen / inspec ~40-70 минут для 25-35 ролей. | |
- test Ansible roles: ansible / docker / jenkins / molecule / testinfa ~20-25 минут для 50-55 ролей. | |
С моей колокльни это все медленно. И пришел к пирамиде тестирования инфраструктуры | |
static - shellcheck/ansible lint | |
unit - molecule/kitchen + testinfra/inspec для отдельных базовых ролей | |
integration - проверяем конфиг сервера состоящий из множества ролей настраивается правильно. molecule/kitchen | |
e2e - что множество серверов работают правильно. нет готового только боль и страдание | |
Вобщем, кто может рассказать/научить как надо делать правильно? | |
P.S. что есть по теме тестирования почитать\посмотреть: | |
* 2019 что я узнал протестировав 200 000 строк инфраструктурного кода | |
* 2018 5 Lessons Learned From Writing Over 300,000 Lines of Infrastructure Code | |
* 2018 Integrating Infrastructure as Code into a Continuous Delivery Pipeline | |
* 2018 Эффективная разработка и сопровождение Ansible-ролей | |
* 2018 Ansible — это вам не bash! | |
* 2018 Test me if you can. Do YML developers Dream of testing ansible? | |
* 2017 How-to test your own OS distribution | |
* 2015 Тестируем инфраструктуру как код | |
George Gaál: | |
Как думаете - что является узким местом? Скорость обработки ансибловых сценариев? | |
Gleb Mekhrenin: | |
ансибл параллельно митогеном ок катитстя | |
вмки надо поднимать из гипервизора на флеше | |
serocco: | |
очень хороший пост. большое спасибо! приятно это видеть | |
PY2 уже потихоньку отмирает. tox в этом плане помогает проверить на PY2, PY3 | |
Gleb Mekhrenin: | |
ну вопрос в том чтотю е2е гонять надо не в реалатайме все же | |
serocco: | |
мне было приятно увидеть, что человек проделал большую работу и только после этого попросил помощи/совета | |
Gleb Mekhrenin: | |
с интеграционными мало боли когда грамотно росли нарезанные и абстракции не протекают | |
serocco: | |
если смотреть глобально, то думаю, будет полезен опыт CI/CD самого проекта ansible. все же ранг 88 из github проектов | |
"- test Ansible roles: ansible / docker / jenkins / molecule / testinfa ~20-25 минут для 50-55 ролей." | |
можно поробовать заменить jenkins awx | |
Lev Goncharov: | |
Имхо | |
1. развёртывание инфры под это все дело(решается параллельностью) | |
2. Сами сценарии(оракл ставится минут 30, например), тут полагаю ловить как можно раньше хз что делать вобщем | |
serocco: | |
20-25 минут для таких вещей это норм. можно еще добавить мутаген, но он работает иначе. | |
есть специфика | |
в основном связана с циклами и порядком выполнения того, что пихаешь в циклы (например, loop) | |
Lev Goncharov: | |
Но, | |
1. там е2е мало | |
2. Оно внутри докера, а не вм | |
А вобще цифрами поделиться есть какими? | |
serocco: | |
это не баг мутагена, это иное виденье | |
на процесс исполнения... |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment