@pro_ansible

Страница 127 из 625
Serge
10.12.2016
11:13:14
Поэтому, я бы брал упомянутый тесткитчен и городил бы полностью параллельный BDD огород
вообще, тут же появляются мысли, что имея BDD огород, можно написать тул, который приведт систему к заданому виду

привет puppet :)

т.е. вот Ansible - это инструмент автоматизации, т.е. повторения императивных действий

а папет как раз позволяет описать систему и сам её как-то к этому состоянию приводит

Google
Alex
10.12.2016
11:14:46
Инструмент повторения императивных действий это Fabric

А также и Func

Serge
10.12.2016
11:15:21
Инструмент повторения императивных действий это Fabric
ок, согласен, Ansible тоже оперирует микростейтами в некоторых модулях

но не во всех

Alex
10.12.2016
11:15:43
Ну - потому что некоторые вещи не можно выразить идемпотентно

Serge
10.12.2016
11:15:47
и всё равно это лишь способ не совершать действие, если оно уже сделано

Alex
10.12.2016
11:16:12
Нет

Serge
10.12.2016
11:16:42
ну да же, это лишь вопрос того как ты на это смотришь

все эти стетйты можно развернуть в императивные if-ы

Alex
10.12.2016
11:17:20
Если действие уже сделано - и второй прогон делать не надо, это и есть идемпотентность

Alex
10.12.2016
11:17:41
Это top-down approach

Google
Alex
10.12.2016
11:17:47
Мы хотим наоборот

Serge
10.12.2016
11:17:52
Ну, что угодно можно
О! Это вот правильная мысль

и у нас есть отдельный BDD зоопарк

Александр
10.12.2016
11:18:22
Если действие уже сделано - и второй прогон делать не надо, это и есть идемпотентность
А если действие сделано, потом изменен темплейт и снова все действия - это как назвать?

Alex
10.12.2016
11:18:32
Мы же хотим повышать уровень абстракции

Serge
10.12.2016
11:18:35
Ну, что угодно можно

и у нас есть отдельный BDD зоопарк

Alex
10.12.2016
11:18:37
Но так, чтобы без протечек

Александр
10.12.2016
11:19:26
Уебищная система, из-за одного изменения весь темплей гнать

Serge
10.12.2016
11:19:45
а смысл?

он ровно сделает тоже, запишет в FS новый файл

Александр
10.12.2016
11:20:29
Но время же...

на проверку старых значений и т.п., т.е. diff тот же.. однохуйственно

Serge
10.12.2016
11:20:45
Но время же...
не факт, что diff быстрее

а вот другое, как с помощью BDD проверить state=restart ?

Google
Александр
10.12.2016
11:21:51
А ни как.. это же тот же stop; start

Или я ошибаюсь?

Alex
10.12.2016
11:22:29
Serge
10.12.2016
11:22:30
а вот другое, как с помощью BDD проверить state=restart ?
т.е. вот у меня есть фигулка, которая на changed шлет notify на restart. как мне в тестах проверить, что restart был?

Alex
10.12.2016
11:22:32
Что меняет рестарт?

Поведение сервиса?

Проверяй смену поведения сервиса

Serge
10.12.2016
11:22:49
Pid другой
как я декларативно опишу старый pid?

Alex
10.12.2016
11:23:01
У тебя сервис должен всякие крючочки предоставлять для интеграции с BDD

Версия бампнется на вебморде, например

Serge
10.12.2016
11:23:17
Проверяй смену поведения сервиса
ну т.е. аудит поведения делать, а не состояния

Alex
10.12.2016
11:23:26
Поведение это и есть состояние

Serge
10.12.2016
11:23:39
не совсем

Admin
ERROR: S client not available

Alex
10.12.2016
11:23:46
“Состояние” = “сервис имеет версию 2.1”

А если не было рестарта - то и не имеет

Serge
10.12.2016
11:24:41
“Состояние” = “сервис имеет версию 2.1”
но я не могу описать это в отрыве от сервиса. мне надо знать как эту версию посмотреть и в каждом сервисе оно делается по-разному :(

Google
Serge
10.12.2016
11:24:52
это слегка расстраивает :)

Alex
10.12.2016
11:24:56
Ну - сорян, плохо быть тобой

В самописных сервисах ты это можешь унифицировать

В написанных не тобой, например, в монге….

Кстати, как к тебе в проект вообще попала монга?

А, погоди

В монге это делается легко

Serge
10.12.2016
11:26:02
не, ну я могу всё в докер и проверять образ, из которого родился бегающий щас контейнер

Alex
10.12.2016
11:26:05
Там однострочник все покажет

Вот взгляд правильный и расовый

Serge
10.12.2016
11:27:16
но всё равно, не нравится мне совсем параллельный зоопарк иметь...

Alex
10.12.2016
11:27:27
Не вижу проблем

Энсибл императивен, с этим ничего не сделать

Serge
10.12.2016
11:28:01
Не вижу проблем
но если задуматься, в тестах в программировании так же ведь

Alex
10.12.2016
11:28:05
Все попытки сделать декларативную CM tool поверх императивного Linux пока проваливались

Serge
10.12.2016
11:29:09
Энсибл императивен, с этим ничего не сделать
можно предоставить инструмент, который будет оперировать терминами Ансибла, например, инвентори подхватывать, понимать что могло сломать конкретный тест

о! вот оно!

вот же оно! вот что мне в этом не нравится.

Google
Alex
10.12.2016
11:29:23
Ну - наверное

Я пока думал о другом

Страница 127 из 625