Vladimir
ваши рассказы о том что в какой-нибудь незначительной версии всё ломается явно не безосновательны :(
Aleksey
ну хз у меня за 2 года плотной дружбы и года среднеплотной дружбы с ансиблом, именно ансибл не был виноват ниразу.
Aleksey
при этом у меня довольно много ролей.
Aleksey
я с учетом родных модулей
button
+1, единственный вред за все время чужие роли и отсутствие тестов в них
Dmitry
а ктото ваще юзает из гелакси роли?
Dmitry
вот прямо as is
Tadeusz
/me ваще никогда гелекси не юзал)
Dmitry
я сколько раз пробовал - ни разу не заводилось с первого тычка
Serge
@versusbassz
Serge
Dmitry
тут больше охуеваешь от количества пр
Serge
я с учетом родных модулей
видимо, ты не пользовался aws-овскими. может у тебя еще и на Python 3 Ansible нормально работает?
Serge
тут больше охуеваешь от количества пр
ну на картинки и баги и пиары
Dmitry
вполне себе работал, пока я в докер не полез
Serge
ну смотря что делать
ASG, S3 - всё через запасной проход сделано
Dmitry
ASG, S3 - всё через запасной проход сделано
мы катим инфру терраформом
Dmitry
оно более или менее стабильно
Serge
мы катим инфру терраформом
и я уже тоже давно;)
Dmitry
все таки, кмк, лчше разделять провижн обьектов инфры и пост-сетап
Serge
все таки, кмк, лчше разделять провижн обьектов инфры и пост-сетап
у меня нет пост сетапа;) докер, переменные окружения и autodiscovery. всё работает
Serge
у меня нет пост сетапа;) докер, переменные окружения и autodiscovery. всё работает
ну не просто докер, конечно. сейчас ECS, хотим попробовать Fargate вот
Dmitry
а, вы прямо по уши в амазоне
Dmitry
ясно
Serge
ну вот докер и тд ты тоже катишь терраформом?
билд контейнеров в CI в реестр, и задачи на ECS, которые тащут контейнеры из реестра
Serge
а, вы прямо по уши в амазоне
не обязательно. всё относительно не зависит от амазона. переделать формирование задач на другой кластер и полетит на другом
Aleksey
нет у меня питон 2 и я не пользовался авсовскими ролями
Aleksey
вот после всей этой возни с galaxy мне понятно как приезжают роли, но не понятно как приезжает library, lookup_plugins и в особенности файл с плейбуком
Alex
никак? оно же для ролей онли не?
Aleksey
ну вот идеологически непонятно
Aleksey
либо процесс сломан либо я что то не знаю
Nklya
куда кто и зачем должен приезжать?
Aleksey
ну логика такая. я хочу задеплоить вот эту штуку https://github.com/geerlingguy/ansible-role-gitlab
Aleksey
роль у меня есть. теперь мне надо плейбук и инвентори.
Aleksey
откуда они возьмутся :) ?
Denis
Возьми и напиши. ;)
Aleksey
не проблема в написать.
Nklya
У тебя есть инфраструктурная репа. Например такая https://github.com/cndies/ansible-repo-example В ней хранятся енвайроменты, плейбуки и проч. Роль ты прописываешь в requirements и тащить их при выполнении
Aleksey
проблема в том что если оно уже есть и написано как по мнению авторов ансибла оно материализуется ?
Nklya
Ну и в чем тогда вопрос?
Aleksey
how to use отвечает на вопрос именно таким образом как я боялся
Aleksey
за ссылку спасибо да
Nklya
При этом роли можно не хранить в самой репе, а в requirements привязывать к тегам, хешам или веткам. Получается что-то типа berksfile шефовского
Aleksey
ну тоесть процесс в сумме выгляит как то так * есть репа с плейбуком и всякими доп питонячими модулями * есть доп репы * клонируется первая репа * пускается ansible-galaxy install —force -r req.yml всё. теперь у нас есть плейбук пригодный для запуска.
Nklya
примерно так.
Nklya
Если не нужно версионировать роли, то можно все роли впихнуть в инфраструктурную репу и не использовать галакси
Aleksey
нет. хочется что то придумать с инфраструктурной репой.
Aleksey
хочется что бы её не было :)
Nklya
Ну тогда генерь Ее налету из шаблонов если очень хочется
Aleksey
нет. хочется что бы она была. но н ехочется придумывать ее скачивание.
Aleksey
и вообще странно что либрари и лукапы не привязаны к роли а привязаны к плейбуку
Aleksey
а не. там тоже можно
Nklya
то, что относится к роли, должно быть в роли
Serge
хочется что бы её не было :)
так не будет. никто не знает как запускать твои роли. даже не важно роли это или что. есть много generic кода, но только в твоей репе он получает частное применение к твоей инфраструктуре. чтобы было "infrastructure as a code", этот код должен где-то лежать. если его нет, нет и твоей инфраструктуры.
Aleksey
Это всё понятно. Но я не хочу решать вопрос доставки инфраструктурной репы на хост с ролями. Я хочу его делегировать
Aleksey
Галакси в этом случае решает вопрос с доставкой ролей. Из чо попало мест
Aleksey
Но не решает вопрос доставки самого плейбука и обвязки
Serge
ну тоесть процесс в сумме выгляит как то так * есть репа с плейбуком и всякими доп питонячими модулями * есть доп репы * клонируется первая репа * пускается ansible-galaxy install —force -r req.yml всё. теперь у нас есть плейбук пригодный для запуска.
вообще, я думаю, что они перемудрили с galaxy. прямой путь был бы использовать хуки в setup.py обычного питоновского пакета, которые бы регистрировали соответствующие плагины. тогда можно было бы использовать родной питоновский pip и requirements.txt и мигировать на новый pipfile по желанию без потерь.
Serge
Но не решает вопрос доставки самого плейбука и обвязки
ну, для этого есть git и сетап твоей репы, типа с galaxy. собственно с terraform точно так же. т.е. приносишь код своей инфраструктуры, сетапишь нужное окружение по зависимостям и работаешь. я правда стал всё собирать в один контейнер теперь и запускаю докером вместе с зависимостями уже и нужными версиями всего
Serge
можно сделать git archive и залить архив
Aleksey
Тгз в директории сорс
Aleksey
И докер нет возможности
Serge
можно сделать git archive и залить архив
причем для этого можно сделать отдельный плейбук, чтобы запаковать свою же локальную репу и залить куда надо
Serge
И докер нет возможности
а ssh тонель туда можно?:)
Aleksey
Все мои страдания сейчас связаны с тем что у питона нет библиотеки которая бы добывала файлы
Aleksey
а ssh тонель туда можно?:)
Нет. Можно флешку
Aleksey
Все мои страдания сейчас связаны с тем что у питона нет библиотеки которая бы добывала файлы
Это значит жрала ссылки на всё. На гит с тегом. С бранчем. На с3, на меркуриал на ftp локальный файл и тд
Serge
Нет. Можно флешку
собери все зависимости нужные в образ любимой оси и сделай загрузочную флешку
Dennis
Запускаю плейбук ansible-playbook playbook.yml -l host1,host2,host3 Как обычно выполняется параллельно Подскажите как запустить последовательно ? ЗЫ понятно что можно запускать по очереди 😃
Aleksey
Но они говорят что мы консольная тулза и импорты из нас ансаппортед