Timur
И что можно сделать в testinfra?
Timur
Сможете там тесты для Windows сделать?
Anonymous
все что выше перечислил.
Anonymous
кроме windows. не готовлю для windows....
Aleksey
Там winrm транспорт так же есть
Timur
Anonymous
Там winrm транспорт так же есть
я просто по windows не знаю. не пробовал и не хочу знать )
Timur
все что выше перечислил.
Ну, и как вы разные тесты на разные хосты будете накатывать?
Aleksey
Я удивляюсь этому чату. То за command в очевидном месте говорят атата. И тут же говорят что питон для тестов плох
Anonymous
)))))
Timur
Просто ансибл в этом плане проще и удобнее
Aleksey
Нет. он медленный для тестов
Timur
Не нужно привлекать лишних сущностей для написания тестов
Aleksey
И ветвление очень не удобное
Anonymous
python и pytest это трудно назвать лишними зависимостями
Aleksey
Кейс возьми и проверь превращается в 3 таски
Timur
https://testinfra.readthedocs.io/en/latest/backends.html#ansible
Нужно разные файлы юзать по сути
Anonymous
или сущностями...
Timur
И разные запуски тестов
Anonymous
с чего бы?
Aleksey
При этом строк больше. Выполнение медленнее управления потоком почти нет
Anonymous
Тимур все там давно хорошо еще до ansible verify
Timur
с чего бы?
В контексте молекулы покажите как на несколько хостов у вас тест выглядит?
Timur
Тимур все там давно хорошо еще до ansible verify
А кто говорит, что плохо? Просто у ансибла лучше :)
Timur
Особенно с совместимостью
Timur
Например, переход на ансибл 2.8 нам целую кучу проблем создал в свое время, т.к. testinfra далеко не сразу стала его поддерживать
Timur
Возможность писать тесты для ансибла, зная только ансибл, явно удобнее, чем необходимость для этого знать еще и питон, не так ли?
Timur
При этом строк больше. Выполнение медленнее управления потоком почти нет
Строк больше? Вовсе не факт. С чего управление медленнее, если testinfra использует те же ансибловые транспорты, совершенно непонятно
Timur
Примера теста, который на testinfra выполняется кардинально быстрее, чем на ansible, я, кстати, тоже пока не увидел
Aleksey
assert научился не падать после первого косяка ?
Aleksey
может выдать реестр ошибок ?
Aleksey
https://docs.ansible.com/ansible/latest/modules/assert_module.html?highlight=assert нет не научился.
Aleksey
тоесть выдать более одной ошибки за раз не получится.
Aleksey
это называется бег по граблям
Timur
покажите
Что именно?
Aleksey
Что именно?
где у вас получается меньше строк
Timur
assert научился не падать после первого косяка ?
Прошу прощения? Вообще-то прямое назначение модуля assert - как раз падать после косяка
Aleksey
Aleksey
можете ли использовать тесты роли для хелсчек сервера ? вот с госс так можно
Timur
покажите как вы тестите? как выдаёте что не в порядке ?
Например: https://github.com/lean-delivery/ansible-role-sonarqube/blob/master/molecule/resources/tests/verify.yml
Timur
Что значит "использовать тесты роли для хелсчек сервера"?
Aleksey
Поясните, что именно вы имеете в виду?
goss serve --format json & curl localhost:8080/healthz
Timur
есть роли в которых хотябы 10 тестов ?
Роль, для которой нужно 10 тестов - это довольно странная вещь. Обычно роль делает одну-две вещи и настраивает один конкретный сервис. Зачем там 10 тестов?
Anonymous
Тимур, я не у компа. По поводу показать и доказать это целенаправленно нужно сидеть над кейсами, документацией и кодом. В итоге проделать большую работу чтобы сделать какие то однозначные выводы. Поэтому предлагаю остановиться на том, что в текущий момент у молекулы по умолчанию testinfra в качестве verify. Можно выбрать другие verify. На этом все!
Sergey
@tnt4brain ты простил примеры
Кому простил? Ну и примеров я не увидел...
Timur
goss serve --format json & curl localhost:8080/healthz
И что это дает? Проверку доступности этого адреса на локалхосте?
Timur
странная это ваш подход.
Что именно вам кажется странным?
Timur
странная это ваш подход.
Посмотрел ваши тесты в пайплайне. У вас, получается, не роли тестируются, а плейбука целиком. Ну, тоже вариант. Там действительно можно много тестов накрутить при таком подходе
Timur
Кстати, не думале раскраску включить, чтобы вывод молекулы в консоли читабельнее был?
Timur
Он не работает
Кто не работает?
Aleksey
Кто не работает?
Цветной вывод
Timur
Работает, если включить
Timur
Так видно?
Aleksey
Где включать?
Timur
Где включать?
PY_COLORS пробовали?
Aleksey
Timur
You can define PY_COLORS=1 to force use of ANSI colors, which can be handly for some CI systems.
Lev
PY_COLORS пробовали?
Я в джнкинсе делал faketty и получал цветной вывод, но смотрится адово конструкция на баше.
Timur
А как у вас тестятся плэйбуки? Как понять что комбинация ролей рабоает вместе правильно? А множество серверов?
Обычно мы не тестируем плейбуки, хотя - да, согласен, в ряде случаев это имеет смысл. Но у нас больше фокус на универсальные роли. А плейбуки обычно project-specific
Lev
Обычно мы не тестируем плейбуки, хотя - да, согласен, в ряде случаев это имеет смысл. Но у нас больше фокус на универсальные роли. А плейбуки обычно project-specific
Конфиг сервера состоит из множества ролей и гипотетически может получится что одна роль афектит другую. Как такое ловить?
Timur
Это ловить тестами. Но мы стараемся писать роли так, чтобы минимально аффектать другие
George
два - ну, вы же пайплайны как-то пишете. Причем с первого раза
Aleksey
стараться мало. надо таки тестить
Aleksey
увы я много подходов перебобовал пока не пришел к goss