@puppet_ru

Страница 55 из 112
ptchol
26.03.2018
09:12:21
Расскажите мне как метапакеты решают проблемы идемпотентности

Весь во внимании

dk
26.03.2018
11:09:46
слишком выскоие требования к культуре и усилий в саппорте этого всего
%pre rm -rf %{rootdir} %install mkdir -p %{buildroot}/%{rootdir} mv files %{builldroot}/%{rootdir} %files %{rootdir}

ptchol
26.03.2018
11:13:06
lol kek

Google
Xeniya MTS
26.03.2018
18:29:09
И причем тут метапакеты ?
в метапакет забиваешь в зависимости точные версии пакетов. Всё хранишь в yml. Дальше всё автоматически проверяешь в дженкинсе, и докере, что не сломалось. Жалко, что я эту утилиту написала для работодателя. Но я думаю, что я её перепишу с нуля, и выложу в опенсурс

там не то, что бы большая штука, так, строчек 600 кода на питоне

Но я ленивая :(

ptchol
26.03.2018
19:31:45
пиздец

и как связана идемпотентность и версионирвоание ?

вот было у тебя исторически 10 версий.

и везде менялось что то в пост инсталах \ пре инсталах \ командах запуска \ дефолтах

как проверить что обновление с любой на любую версию проходит без проблем

ты что тестируешь все возможновые комбинаторные варианты ?

ptchol
26.03.2018
19:37:30
я рад если у вас в пакетах так можно

вы типа все в /opt ставите да ?

и зависимостей от публичных пакетов у вас нет да ?

Google
dk
26.03.2018
19:38:24
Обычно мигрировать взад тяжко по большей часте из-за того, что БД так просто назад не прокрутишь

ptchol
26.03.2018
19:39:11
вобще это уже проблема приложения а не системы упаковки и доставки приложения

миграция по хорошему это такой же отдельный релиз приложения и её наливка не должна быть блокируещей а должна быть итерационной

Xeniya MTS
26.03.2018
19:40:27
и как связана идемпотентность и версионирвоание ?
В одной минорной версии ничего не поменялось, сюрприз

ptchol
26.03.2018
19:40:44
а причем тут минорная версия вобще ?

Xeniya MTS
26.03.2018
19:41:03
и зависимостей от публичных пакетов у вас нет да ?
моя тулза прописывает в метапакет все зависимости в ОС, которые могут аффектить

и, кстати, код этой тулзы куда компактнее чем докера :)

вот

и глюков в ней меньше

нужно обязательно её рерайтнуть в опенсурс :(

ну и в паппете стоит "поставить такие-то метапакеты"

новый спринт - новый метапакет

ptchol
26.03.2018
19:42:54
господи

@dkguest ты можешь её объяснить ?

dk
26.03.2018
19:43:33
и зависимостей от публичных пакетов у вас нет да ?
1) Локальные репы базовых пакетов, из локальных реп ничего не удаляется (нет, много места не надо и 10-е рейды из 15крпм сасов тоже не требуются) 2) Все собранные локальные пакеты имеют версию/тег/коммит/бранч, в общем - понятно откуда взялись и никогда не удаляются 3) Если лень писать спек, то да - /opt/group/project 4) В паппетовых конфигурациях жестко расписаны версии основных пакетов Но все это - боль

ptchol
26.03.2018
19:44:10
зависимости и идемпотентность последовательности операций, которые сложились в результате изменений в работе скриптов инсталяции пакета могут образовывать большое дерево потенциальных вариантов

dk
26.03.2018
19:44:11
Она и есть - метапакет

ptchol
26.03.2018
19:44:33
и ты не можешь гарантировать результат, если ты конечно не делаешь так, как описал @dkguest

Xeniya MTS
26.03.2018
19:45:05
1) Локальные репы базовых пакетов, из локальных реп ничего не удаляется (нет, много места не надо и 10-е рейды из 15крпм сасов тоже не требуются) 2) Все собранные локальные пакеты имеют версию/тег/коммит/бранч, в общем - понятно откуда взялись и никогда не удаляются 3) Если лень писать спек, то да - /opt/group/project 4) В паппетовых конфигурациях жестко расписаны версии основных пакетов Но все это - боль
1) я так раньше тоже делала. Ну и сейчас тоже,но мой деплой не сломается без локальных пакетов. У меня сейчас можно так и так ставить. На ноутбук ставлю с локального зеркала, т.к. инет дома не слишком быстрый. Это одна переменная паппета 2) да! 3) ну мне лень писать, поэтому это делает суперскрипт на питоне

Google
Xeniya MTS
26.03.2018
19:45:18
конечно, версия спринта ставится в хиере

для клиентского сервера

dk
26.03.2018
19:45:32
зависимости и идемпотентность последовательности операций, которые сложились в результате изменений в работе скриптов инсталяции пакета могут образовывать большое дерево потенциальных вариантов
Да я тебя понял, ну вот паппет может с некоторой вероятностью откатить конфигурацию (вообще-то нет, yum взбрыкнет даунгрейдить рекурсивно). Но вот данные... Хз что с ними

dk
26.03.2018
19:46:07
данные из бэкапа достаются
Звучит оптимистично

Xeniya MTS
26.03.2018
19:46:29
ну если достать из бэкапа, всегда работает. Если не достать, ну могут быть проблемы, да

ptchol
26.03.2018
19:46:36
А Ксюша не поняла, и наседает со своими метапакетами и тем какже у неё всё круто заскриптовано

Xeniya MTS
26.03.2018
19:46:41
у нас бывают проблемы с обратной совместимостью

признаю

ptchol
26.03.2018
19:46:54
жаль то нахер это никому не нада ) и докер это всё делает одной тулзой )

Xeniya MTS
26.03.2018
19:47:03
если всё сломалось, мы можем забить на пару часов данных и назад откатить

такое было

и работает стабильнее

в 500 строках кода нечему ломаться

:)

ptchol
26.03.2018
19:48:13
твои спеки + код паппета твой + сам код паппета + обвязки ко всему этому, они больше чем докер и докерфайлы

если уж ты начала так сравнивать

Google
ptchol
26.03.2018
19:48:40
имиджи можно и без докера собират ьпри желании как бы

tar.gz и погнали

но это для образованных, не образованным бояться и тыкать "уууу докер злооо"

dk
26.03.2018
19:49:57
имиджи можно и без докера собират ьпри желании как бы
Тут зависит от того, насколько удачна реализация CI. Вот мне на текущей работе проще ворох RPM собрать, чем образ для ранчера в текущем реализации.

Xeniya MTS
26.03.2018
19:50:03
я не знаю, как жила бы без него в нашем CI

дженкинс и докер ❤️

ptchol
26.03.2018
19:51:23
а почему для ранчера ?

scratch же это просто FROM с бинарём

Xeniya MTS
26.03.2018
19:52:11
а почему для ранчера ?
для того, что бы на коммит на каждый прогонять тесты

что бы не деплоить с нуля

ночью ещё полный деплой запускается

прошли тесты = записался образ

ptchol
26.03.2018
19:52:42
и как шедулер связан с CI ?

Xeniya MTS
26.03.2018
19:52:45
и на него уже применяется новый коммит

ptchol
26.03.2018
19:53:09
rancher вобще абстракция дико выского уровня

Xeniya MTS
26.03.2018
19:53:14
быстрее проходит тестовый деплой паппета, если уже на настроенной частично системе

ptchol
26.03.2018
19:53:16
как вы вобще к нему приехали

Xeniya MTS
26.03.2018
19:53:23
я не знаю, что бы я делала без докера

Google
Xeniya MTS
26.03.2018
19:53:33
у нас полный деплой приложения 2 часа :(

dk
26.03.2018
19:53:45
Для rpm: - 1 репа в ней приложуха и следующие файлы - 5 строк в .gitlab-ci.yml - package.spec.in опционально (если не хочется, чтобы оно все в /opt сложило) - yum install mypackage Для docker: - репа с пакетом, версионирование бранчами - репа с конфигом, версионирование бранчами и внутри конфигов (докер и ранчер композы) тоже надо прописать версии - джоба в дженкинсе, там тоже надо все прописать, мышкой тыкаем run-job - потом идем в ранчер и там мышкой...

как вы вобще к нему приехали
Это было еще до меня, я вообще туда шел на микросервисы посмотреть т.к. пакетную сборку я видел, умею и вообще - пора расти дальше. А там такое...

dk
26.03.2018
19:57:14
Конфиг композа - чтобы собрать имидж и поставить контейнер

ptchol
26.03.2018
19:59:04
а вот тут вопрос

что проще читаться будет композ + докерфайл или спек + иниты + конфиги к ним хз где раскиданные

незнакомому человеку

dk
26.03.2018
20:01:01
Вопрос интеграции или не вопрос интеграции, но пока девопсы мне собирали контейнер для приложухи (все еще собирают), я успел запилить скрипты для сборки рпм-пакетов (гитлабовским раннером в докере, бггг), сделать из этого мало-мальски универсальное ci, создать приватную репу и собрать пакет пригодный к установке и работе на центоси. Тем времени в Виллабаджо все еще моют посуду...

Это вопрос реализации, я не знаю беспрактисес, а посмотреть негде, на митапах особо не разнюхаешь - как взрослые этим занимаются

ptchol
26.03.2018
20:02:55
как то начинали с того что пытались доказать что технология гавно а выясняется опять что люди дебилы

dk
26.03.2018
20:03:21
незнакомому человеку
Ему конфиги ci еще найти надо будет. Они в другой репе лежат, в специальном бранче. А потом найти джобу в нужном дженкинсе.

Xeniya MTS
26.03.2018
20:03:30
как то начинали с того что пытались доказать что технология гавно а выясняется опять что люди дебилы
выясняется, что ты зря постулируешь универсальность идеи о том, что слабые связи между частями приложения благо

это ошибка. Это нишевая штука, вроде node.js

для кого-то ок, а для кого-то нафиг не нужное говно

у кого монолит

ptchol
26.03.2018
20:06:04
я понимаю что тебе насрать на историю, но ты не права.

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

Xeniya MTS
26.03.2018
20:06:37
я понимаю что тебе насрать на историю, но ты не права.
мне не насрать на историю, я вижу, что в истории IT постоянно постулируют универсальные истины, а потом обламываются

ptchol
26.03.2018
20:06:47
и даже энтерпрайзы всю жизнь к этому стремятся

Страница 55 из 112