LINUX.ORG.RU

Интеграционные тесты, Ansible, Puppet и подобные

 , , ,


1

2

Всем привет!

Нужно проводить интеграционные тесты. Для этого нужно собрать кластер из нескольких виртуальных машин, при этом бинарники для тестов нужно брать со сборочной машины или собирать самостоятельно. Также нужно иногда вносить изменения в конфигурационные файлы и читать логи, и то, и другое находится на виртуалках.

Есть желание максимально упростить и автоматизировать проведения этих тестов.

Краем уха я слышал про системы типа Ansible, Puppet и пр. Судя по их описанию, они могут с этим помочь.

Кто-нибудь сталкивался с такой задачей? Как такое обычно делают? И как это нужно делать по уму? Стоит ли связываться с Ansible или чем-нибудь подобным или проще написать пару скриптов на питоне?


Похоже, вам надо не систему конфигурации, а систему деплоя. Capistrano, Fabric, etc.

AnDoR ★★★★★ ()

почему не jenkins? виртуалки как ноды, заскриптовать все действия типа «вносить изменения в конфигурационные файлы и читать логи» в джобы женкинса и камон

vostrik ★★★☆ ()
Ответ на: комментарий от AnDoR

Capistrano, Fabric, etc.

Похоже Fabric то, что надо.

Capistrano тоже вроде хороший, но там руби, а у нас кругом питон.

Спасибо!

ien ()
Ответ на: комментарий от vostrik

почему не jenkins? виртуалки как ноды, заскриптовать все действия типа «вносить изменения в конфигурационные файлы и читать логи» в джобы женкинса и камон

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

ien ()
Ответ на: комментарий от anonymous

http://serverspec.org/ такое видал?

Это похоже не про то. Там тестируют настройки серверов. А у меня тесты ПО. Мне надо автоматически запускать всякие программы и смотреть, что они работают как нужно.

ien ()
Ответ на: комментарий от ien

т.е. тебе нужно настроить CI? тогда совет про jenkins - самый правильный (ну или любой другой CI-сервер на твой выбор)

maloi ★★★★★ ()
Ответ на: комментарий от anonymous

Фигня какая-то. Зачем это, если есть система мониторинга?

AnDoR ★★★★★ ()
Ответ на: комментарий от maloi

т.е. тебе нужно настроить CI? тогда совет про jenkins - самый правильный (ну или любой другой CI-сервер на твой выбор)

Не хочу спорить о терминах. Попробую на конкретном примере. Предположим в конторе N делается smtp-сервер и оно собирается дженкинсом. И теперь хотим проверить как оно в целом работает. Для этого нужно развернуть бинарник на двух машинах, скопировать туда конфиг, запустить, послать письмо, и проверить, что оно пришло. Таких тестов может быть несколько...

ien ()
Ответ на: комментарий от ien

если проверять хотите автоматически (по расписанию/определенным условиям), то это CI и желательно использовать CI-сервер, если «когда левая пятка пожелает», то можете использовать CI-сервер, можете нет. Для воспроизводимости результатов и независимости от окружения лучше использовать.

как лучше делать сами тесты - не подскажу.

maloi ★★★★★ ()
Ответ на: комментарий от ien

jenkins master + 2 nodes + tied jobs + chained jobs. работы на пару часов, если с дженкинсом на ты. не считая времени на тестовые скрипты, тут надо смотреть

vostrik ★★★☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.