Timur
https://github.com/ansible/molecule/pull/2321
Timur
Logan
то есть это не готово и вообще неизвестно когда будет готово. отлично.
Timur
Timur
Будет в ближайшем релизе, скорее всего
Timur
А так - верификация на ансибле уже доступна в молекуле, просто в документации пока указан как не дефолтный вариант
Timur
Зачем юзать testinfra при наличии возможности написать тест на ансибле, не очень понятно
Timur
Разве что кому-то очень нравится писать тесты на питоне
Aleksey
я пробовал писать тесты на самом ансибле. получается очень медленно и крайне не продуктивно. после нескольких сотен строк я бросил это дело.
Timur
Timur
Однако
Timur
Непонятно, зачем вам тогда вообще нужен ансибл
Timur
Пишите сразу все на питоне - будет быстрее и без всяких ограничений ансибла
Aleksey
писать простые вещи на нём возможно. но если начиается что то типа проверить что с моего сервера доступны все остальные сервера и так для каждого получается задачка с которой справляется goss за менее чем секунду а для ансибла комбинаторный взрыв
Timur
Timur
Какая задачка решается на goss или testinfra, которую не решить на ансибле?
Aleksey
да можно https://code.getnoc.com/noc/ansible_deploy/blob/microservices/system_roles/consul/tasks/tests.yml
Aleksey
в каждой роли там похожий файл есть
Timur
Aleksey
точно тоже на госе решается в разы быстрее
Sergey
Timur
Aleksey
Sergey
Да вот же - https://code.getnoc.com/noc/ansible_deploy/blob/microservices/system_roles/consul/tasks/tests.yml#L4
Aleksey
Aleksey
Aleksey
Sergey
Aleksey
таймаут там не проиходит. там получается надо сделать в моем случае ~50 хостов. кажый с каждым.
Timur
Aleksey
Sergey
смысла много ли ?
Слушай, ну сделать как попало, а потом винить инструмент - такое себе.
Aleksey
Sergey
Вот представь - у человека, например, табуретка колченогая получилась, а он такой - "нееее, ножовка как инструмент говно".
Aleksey
Timur
Aleksey
я слышал что если заблокировать пользователя с какой то версии телеграма я не буду видеть его сообшения. видимо я проверю этот функционал
Lev
Timur
Logan
Aleksey
вы тратите время и не отвечаете на прямые вопросы. уходите в демагогию. похоже что вам не хочется помочь а донести странность.
Aleksey
Timur
Aleksey
Timur
Там бывают такие нюансы
Timur
Для других адресов работает?
Aleksey
Да хоть про какую. Я про сам концепт.
Серёж, чо начаинается то :) нормально же общались.
задача проверить наличие процесса может быть и модулем решена и вызовом команды. дернуть через модуль в одном месте оверкил. надо было бы на постоянку я бы сделал.
но увы сам прототи оказался не рабочим. и я выкючил его
Aleksey
такой вот тест проходит
def test_vm_storage_alive_socket(host):
socket = host.socket('tcp://0.0.0.0:8482')
assert socket.is_listening
он он опосредованный и зависит от netstat
Aleksey
тоесть проверяет не совсем то что мне нужно. лишь то что есть нечто что слушает порт.
я бы хотел дернуть именно endpoint
Lev
Aleksey
я поискал в интернетах и нашел что походие таски делают
https://github.com/MrKris99/Monitoring/blob/fabbe7fe4382e942022fbf6c98bfdda1ce5adc85/ansible/roles/node_exporter/molecule/default/tests/test_default.py
Aleksey
но не могу найти где у меня не так
Aleksey
кажется разобрался.
https://github.com/MrKris99/Monitoring/blob/fabbe7fe4382e942022fbf6c98bfdda1ce5adc85/ansible/roles/node_exporter/molecule/default/molecule.yml#L20
Aleksey
они выставляют эти порты и проверяют их на хосте а не в докере
Timur
Aleksey
Timur
^
https://t.me/pro_ansible/117437
Гайрат
Как (и чем) лучше делать restore БД? Допустим, ansible прошёлся ролью, поставил базу, пользователей создал. Дальше другой ролью, или есть другие инструменты для такого?
Logan
Logan
я использовал flyway, например
Anonymous
https://github.com/ansible/molecule/pull/2321
1) пометка draft(т.е. не влили). 2) В описании самого pr: "This does *not* mean we deprecate testinfra, we only transition to a modular architecture." Итого: мотивация этого pr сделать молекулу компактней. Мол если хочешь testinfra, то "доставишь".
Anonymous
testinfra была, есть и будет. выбор в пользу ansible для verify по умолчанию связан только с "компактностью" самой молекулы. других причин нет.
Timur
Timur
Например, нативная интеграция с инвентарем и группами
Timur
Коробочная поддержка Windows
Timur
Можно легко переключаться между разными хостами в тесте
Timur
Более простой доступ к переменным ансибла
Anonymous
все это можно сделать в testinfra. будет мердж, тогда ок. будет пометка deprecate testinfra, тогда два ок. пока ни того, ни другого.
Timur
Ну, и главное - ансибл как верификатор не требует знания дополнительных языков для написания тестов и не тянет за собой лишних зависимостей
Timur