Alexander 🐕
Про это все ваши BDD и все ваши рспеки
Max
То есть - ты должен декларативно описать, чего ты хочешь достичь
С учётом как часто ансибл ломают с релизом...
Alexander 🐕
А достигаешь ты этого императивно
Alexander 🐕
Так уж устроен юникс-мир
Serge
Про это все ваши BDD и все ваши рспеки
ну да, когда bdd, да. но я хочу и компоненты отдельно тестировать. мечты, конечно
Alexander 🐕
Поэтому, я бы брал упомянутый тесткитчен и городил бы полностью параллельный BDD огород
Alexander 🐕
Ставя на это так называемого “джуниора"
Alexander 🐕
Девочку-джуниора, конечно
Alexander 🐕
Мы все любим девочек-джуниоров
Alexander 🐕
Потому что мальчики-джуниоры это яой
Alexander 🐕
И харам
Max
😂
Serge
Поэтому, я бы брал упомянутый тесткитчен и городил бы полностью параллельный BDD огород
ну, похоже так, а юниты у нас должны быть в модулях, как бы, по идее
Serge
Поэтому, я бы брал упомянутый тесткитчен и городил бы полностью параллельный BDD огород
вообще, тут же появляются мысли, что имея BDD огород, можно написать тул, который приведт систему к заданому виду
Serge
привет puppet :)
Serge
т.е. вот Ansible - это инструмент автоматизации, т.е. повторения императивных действий
Serge
а папет как раз позволяет описать систему и сам её как-то к этому состоянию приводит
Alexander 🐕
Инструмент повторения императивных действий это Fabric
Alexander 🐕
А также и Func
Serge
Инструмент повторения императивных действий это Fabric
ок, согласен, Ansible тоже оперирует микростейтами в некоторых модулях
Serge
но не во всех
Alexander 🐕
Ну - потому что некоторые вещи не можно выразить идемпотентно
Serge
и всё равно это лишь способ не совершать действие, если оно уже сделано
Alexander 🐕
Нет
Serge
ну да же, это лишь вопрос того как ты на это смотришь
Serge
все эти стетйты можно развернуть в императивные if-ы
Alexander 🐕
Если действие уже сделано - и второй прогон делать не надо, это и есть идемпотентность
Alexander 🐕
Это top-down approach
Alexander 🐕
Мы хотим наоборот
Serge
Ну, что угодно можно
О! Это вот правильная мысль
Serge
и у нас есть отдельный BDD зоопарк
Александр
Если действие уже сделано - и второй прогон делать не надо, это и есть идемпотентность
А если действие сделано, потом изменен темплейт и снова все действия - это как назвать?
Alexander 🐕
Мы же хотим повышать уровень абстракции
Serge
Ну, что угодно можно
Serge
и у нас есть отдельный BDD зоопарк
Alexander 🐕
Но так, чтобы без протечек
Александр
Уебищная система, из-за одного изменения весь темплей гнать
Serge
а смысл?
Serge
он ровно сделает тоже, запишет в FS новый файл
Александр
Но время же...
Александр
на проверку старых значений и т.п., т.е. diff тот же.. однохуйственно
Serge
Но время же...
не факт, что diff быстрее
Serge
а вот другое, как с помощью BDD проверить state=restart ?
Александр
А ни как.. это же тот же stop; start
Александр
Или я ошибаюсь?
Alexander 🐕
Serge
а вот другое, как с помощью BDD проверить state=restart ?
т.е. вот у меня есть фигулка, которая на changed шлет notify на restart. как мне в тестах проверить, что restart был?
Alexander 🐕
Что меняет рестарт?
Alexander 🐕
Поведение сервиса?
Alexander 🐕
Проверяй смену поведения сервиса
Serge
Pid другой
как я декларативно опишу старый pid?
Alexander 🐕
У тебя сервис должен всякие крючочки предоставлять для интеграции с BDD
Alexander 🐕
Версия бампнется на вебморде, например
Serge
Проверяй смену поведения сервиса
ну т.е. аудит поведения делать, а не состояния
Alexander 🐕
Поведение это и есть состояние
Serge
не совсем
Alexander 🐕
“Состояние” = “сервис имеет версию 2.1”
Alexander 🐕
А если не было рестарта - то и не имеет
Serge
“Состояние” = “сервис имеет версию 2.1”
но я не могу описать это в отрыве от сервиса. мне надо знать как эту версию посмотреть и в каждом сервисе оно делается по-разному :(
Serge
это слегка расстраивает :)
Alexander 🐕
Ну - сорян, плохо быть тобой
Alexander 🐕
В самописных сервисах ты это можешь унифицировать
Alexander 🐕
В написанных не тобой, например, в монге….
Alexander 🐕
Кстати, как к тебе в проект вообще попала монга?
Alexander 🐕
А, погоди
Alexander 🐕
В монге это делается легко
Serge
не, ну я могу всё в докер и проверять образ, из которого родился бегающий щас контейнер
Alexander 🐕
Там однострочник все покажет
Alexander 🐕
Вот взгляд правильный и расовый