Sergey
Я уже затёр, перешлю в личку.
Serg
The history of infrastructure at Zendesk
Как развивалась инфраструктура в компании Zendesk.
Part 1: Constant tradeoffs
https://medium.com/zendesk-engineering/the-history-of-infrastructure-at-zendesk-constant-tradeoffs-bdfa916ff4c3
Part 2: The messy middle
https://medium.com/zendesk-engineering/the-history-of-infrastructure-at-zendesk-part-2-the-messy-middle-59f16a959b7f
Part 3: Foundation team forming and evolving
https://medium.com/zendesk-engineering/the-history-of-infrastructure-at-zendesk-part-3-foundation-team-forming-and-evolving-9859e40f5390
Timur
господа, вообще есть ли резон поднимать свой сервер galaxy, если хочешь построить нормальный пайплайн (с molecule и т.п. вещами)? Добавление ролей из гита с определёнными костылями работает, но нет зависимостей. С другой стороны я не знаю, есть ли они в galaxy или нет. Как правильно вообще строить подобные вещи?
Andor
ты всегда можешь сделать монорепо
Timur
ты всегда можешь сделать монорепо
вот кстати ещё вопрос: с мультирепо я могу хотя бы более-менее повесить какие-то хуки на изменение в ролях (ну, например, у меня есть репо с common-ролью, и я могу повесить на мастер хук, чтобы при мердже она перепроходила по всем серверам). Как такое сделать в монорепе без развесистых кальянообразных конструкций я слабо себе представляю. Вообще классно было бы увидеть какое-нибудь чтиво по таким вот best practices, чтобы не изобретать велосипеды.
greydjin
а есть механизмы управления ансиблом хостов за файрволом? нужно разворачивать у клиентской компании, они не дают развернуть инстанс для впн
greydjin
или нужно идти в системы управления конфигурацией с клиентами на машинах
inqfen
Бастион хост юзай
inqfen
Который будет в целевой сети
George
George
Kirill
greydjin
а ансибл клиентов нет? вроде собирались
Timur
greydjin
ну то есть я оставлю задание на сервере, а клиент делает ansible-pull и забирает задание с сервера моего? а как я узнаю что задание отработало успешно, ansible-pull оставляет логи о своем выполнении на сервере?
Vlad
George
не нужно ansible-pull
George
проще (и надежнее) реально договориться либо на awx в закрытом контуре, либо на bastion host
Anonymous
@E_zombie будет жить. Поприветствуем!
E_zombie
в какую сторону копать ?
E_zombie
E_zombie
астра линукс как бы дебиан9
Timur
E_zombie
2ю7ю11
E_zombie
можно как нибудь переопределить это параметр при запуске ?
Timur
Timur
И есть фикс в дев ветке
Timur
Можете попробовать модуль hostname из devel ветки заюзать
E_zombie
тобишь простого решения нет. а можно ссыль на баг
E_zombie
не нахожу изменений связанных с астрой в девеле
Timur
Timur
Там для SLES описано, но явно наблюдается на разных дистрах
E_zombie
Нет. Дебиан
manefesto
Сижу вот сейчас, думаю
есть две роли, одна делает провижен с клонирование репозитория
Вторая собственно для деплоя, обновляет код в репе и делает растарт сервиса
Можно или использовать шаренный ключ для git в двух ролях. например через group_vars
Vladislav 👻
Наведите меня на мысль плиз, хочу собрать список в списке на основе hostvars, список вида:
[
var1_value: [host1, host2, ...],
var2_value: [host10, host11, ...],
var3_value: [host20, host21, ...]
]
Vladislav 👻
не пойму, как мне map и combine применять что-то
Timur
Наведите меня на мысль плиз, хочу собрать список в списке на основе hostvars, список вида:
[
var1_value: [host1, host2, ...],
var2_value: [host10, host11, ...],
var3_value: [host20, host21, ...]
]
Что именно вам нужно? Можно на конкретном примере?
E_zombie
есть модуль апт - как его заставить ставить пакеты от друго дистра в 2.7 ?
George
Наведите меня на мысль плиз, хочу собрать список в списке на основе hostvars, список вида:
[
var1_value: [host1, host2, ...],
var2_value: [host10, host11, ...],
var3_value: [host20, host21, ...]
]
я так понимаю, что ты хочешь преобразовать один словарь в другой. Т.е. изначально у тебя есть
host1:
var1: value1_1
var2: value2_1
...
hots2:
var1: value1_1
var2: value2_2
...
Vladislav 👻
George
и ты хочешь получить
[
var1_value1_1: [host1, host2, ...],
var2_value2_1: [host1, host10, host11, ...],
var2_value2_2: [host2, ....]
var3_value: [host20, host21, ...]
]
George
ну, вообще задача похожа на преобразование данных
George
как первая итерация - я бы попробовал на питоне сделать скрипт
George
а дальше уже довернул бы его до фильтров map-combine
George
иначе будет сложно
George
ну, и вообще можно, наверное, пойти от обратного (я просто цель сбора такой структуры не понимаю - у тебя тестовые стенды пересекаются с прод-тачками?)
Vladislav 👻
у меня суть, что в темплейте мне надо разбить хосты по стендам
George
разбей их (хосты т.е.) сначала по стендам (=группы), а потом уже назначай переменные
Vladislav 👻
из-за этого вся логика пошла по одному месту и я ломаю голову, как это вообще сделать хоть как-то
George
Timur
Timur
Но мне кажется, проще изначально в инвентаре группы задать
Timur
А группы не проще задать?
Timur
В крайнем случае можно в лупе add_host сделать в динамически создаваемую группу
Anonymous
коллеги кто использует hasicorp vault, проблем с установкой на мак модуля hvac нету ?
Vladislav 👻
тогда я не понимаю, как мне получить список сначало нужных групп
Vladislav 👻
групп пачка, а нужны только конкретные
Vladislav 👻
заранее - нет
Timur
заранее - нет
Тогда ничего не понимаю. Какие группы вам нужны? И как вы поймёте - они ли это?
Timur
Вам нужно просто сгруппировать хосты в группы по какому-то признаку, правильно?
Anonymous
Хочу странного, а именно в одном из плейбуков локально (откуда запускаетя ансибл» запускать команду и вывод ее значения сохранять в перменную. Либо если кто к ансиблу прикручивал hasicorp vault подскажет, как там курлом дергать конкретноее поле, пока что то идеи закончились
Артём
vault kv get
Ilia
Anonymous
• hvac (python library)
Anonymous
которая у меня на мак не встала
Anonymous
сейчас удмаю сделать костыль, поставив локально тоже себе ваул и чрез него получать нужные значения и дальше кормить уже плейбуки
Anonymous
вы с мака выполняете ?я
Артём
Да.
Anonymous
у вас значит нормально hvac устаровилс
Артём
$ ansible --version
ansible 2.4.2.0
config file = None
configured module search path = [u'/Users/*******/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /Library/Python/2.7/site-packages/ansible
executable location = /usr/local/bin/ansible
python version = 2.7.10 (default, Feb 22 2019, 21:17:52) [GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.37.14)]
Артём
В соседнем энве 2.8 и тоже без проблем.
Anonymous
я ужн реинст альнул и ансибл, pip и так далее а ошибка таже
Anonymous
original message: Please pip install hvac to use the hashi_vault lookup module