Dmitriy
> Поэтому, в реальной жизни используется всё: и варс, и дефолты, и переменные групп, и хостов
я вот этого наелся в своё время - поэтому сейчас использую только defaults и group_vars
Aleksandr
и хост варс
Aleksandr
иногда надо)
Dmitriy
вот из-за таких послаблений потом можно огрести
Dmitriy
есть defaults - есть group_vars
Aleksandr
ну а что делать если мне надо только на 2 хоста из 10 разлить 2ух юзеров?
Aleksandr
например
Dmitriy
отдельная группа заводится, например :)
Aleksandr
чет не думал об этом
Dmitriy
или, как мы сейчас решили
внутри группы отдельная варка с конкретными хостами
Serge
А чтобы ip хоста прописать тоже группа?
Dmitriy
ip хоста и ansible - это о разном
Serge
А чтобы задать переменную, которая нужна только в роли и вычисляется из остального контекста?
Serge
Dmitriy
Я тоже в реальной жизни живу, напоминаю
Dmitriy
В любом коде можно наплодить говна, оправдывая это реальной жизнью
Serge
Это может быть хостнейм, который резолвится только после прохода через ssh bastion, например
Serge
Id уникального хоста в aws
Dmitriy
по-прежнему не понимаю, как тут может помешать разумное ограничение в хранении переменных в одном определенном месте
Dmitriy
я могу рассказать обратную сторону, когда реальная жизнь у вас случилась и вы раскидали варки по куче мест
Serge
Dmitriy
Г - логика
Serge
Просто каждая переменная определяется один раз
Dmitriy
я её не вижу всё еще
Serge
Я вопрос задал. Куда пихать hostname конкретного хоста
Serge
Группа с одним хостом?
Serge
Тогда это будет усложнять только и делать неочевидным наличие этой группы
Serge
А чтобы задать переменную, которая нужна только в роли и вычисляется из остального контекста?
Dmitriy
А как у вас это решено?
Dmitriy
У нас есть группы с одним хостом. Мастера в разных кафках и зк, например.
Serge
Как я пишу. У переменных есть смысл. Каждая задается или вычисляется в своем месте. Естественно, для каждой переменной оно своё
Dmitriy
Что мешает вычислять что-то в одном месте?
Serge
Ну и смотри слайды выше
Dmitriy
в тех же груп_варс _или_ в хост_варс?
Serge
Dmitriy
Ох
Dmitriy
Ещё и зависимости ролей
Serge
Обязательно
Dmitriy
Я всё понял.
Dmitriy
Вот что бывает, когда программист берётся делать работу админа
Serge
Или мне копипастить установку nginx для каждого типа хоста?
Serge
nvkv
котаны, а это я что-то не так делаю, или действительно в подавляющем большинстве случаев нет никакого смысла выдрачивать плейбуки под переносимость между дистрибутивами, делать их максимально "общими" и всё такое?
nvkv
у меня вот есть две инфры, одна на центоси, вторая на убунте
Dmitriy
Сложность 100 хостов и 20 окружений ведь.
nvkv
когда мне надо что-то раскатать на убунту из того, что я уже раскатывал на центось мне НАМНОГО проще написать новый плейбук
Serge
Serge
Serge
nvkv
если я мысль понял, то не надо усложнять
nvkv
чем проще, тем лучше
nvkv
пусть не драй, зато просто
Serge
Сложность 5 окружений примерно и около 15 групп. Хостов больше, но там группами в основном, да
Serge
nvkv
воу воу
nvkv
я как программист который оказался в девопсе протестую, ансибл няша
Dmitriy
Я так подумал, этот профиль использования переменных не противоречит моему посылу. Главное - чтобы все понимали, куда ходить менять конкретные переменные
nvkv
а портят его программисты, кстати :)
Serge
Infrastructure as a Code предполагает, что есть код и базовые принципы работы с ним.
nvkv
ну, да
nvkv
код декларативный
nvkv
если хочется кода, можно взять фабрик и приседать
Serge
Serge
Dmitriy
А вот пре пост таски мне интересно зачем нужны:)
pre_tasks:
- name: Disable Sensu alerts
- name: Disable the server in haproxy
- name: Ensure connections closed
post_tasks:
- name: Enable the server in haproxy
- name: re-enable Sensu alerts
Dmitriy
например
Serge
Dmitriy
Это конкретный плейбук для конкретного деплоя
Serge
Считай, у нас полиси, что там только группа в hosts и входная роль для нее
Dmitriy
у нас главного файлика нет
Serge
Ну, тоже путь
Serge
Всякое может работать, если оно работает, удобно и понятно
Dmitry