Sergey
оно уже научилось в пакетные манагеры?
Aleksey
дак не велика задача то
Sergey
а мир только вебом заканчивается? часть бэкенда писанная на с/с++
Sergey
плюс жаба
Sergey
чей джарник тоже прекрасно упаковыввается в дэбку
hackru
это понятно
hackru
но ты же не пакуешь классическое веб-приложение в дебку?
Aleksey
дак капистрано это чо гитом дернуть чтоли ?
Aleksey
я чот не погружался
hackru
т.е. не погружался, но осуждаю
Aleksey
оно чо на руби ?
Aleksey
там чо писать на нем надо ?
hackru
а какая разница на чем, хоть на фортране
hackru
ничего не надо, всё как тебе привычно, программирование на конфигах
Aleksey
ппц.
Vadim
там чо писать на нем надо ?
стэкстрейсы там классные, джава-стайл
Aleksey
програмирование оно на питоне. в ансибле ямл и шаблоны
Aleksey
руби нигде нету
Aleksey
блин в руби что двоеточие надо ставить перед словом ?
Aleksey
где они такой синтаксис взяли ?
Vadim
там много вещей таких, opionated
Aleksey
всё. я осознал. хватит хейта.
Aleksey
всякий инструмент хорош по свойму. всякому есть место.
Aleksey
кроме конечно руби.
Vadim
@freeseacher кстати, а кого ты хотел из ансиблистов на этом митапе?
Aleksey
bcoca конечно
Aleksey
или girlingguy
Vadim
Ишь ты. Тут будет федоровская конференция летом, Flock, там как минимум будет Adam Miller
Aleksey
а кто это :)
Aleksey
maxamillion
Aleksey
я с ним не пересекался
Vadim
свежий мембер ansible core. У него много опыта в юзании этой заразы для федоровской инфры
Vadim
они как раз ~ года назад полностью выкинули паппет
Aleksey
серьезное дело.
Aleksey
у них должна была быть ломка.
Vadim
кстати нет, прошлые админы расползлись по другим проектам, пришло племя молодое и перепилила всё. Вроде довольны
Aleksey
я считаю что деплой должен быть отделен от конфигурирования
теперь что касается вот этой синтенции а так же "вордпресодеплоя". есть микросервисное приложение. как часть решения есть кликхаус. у него есть такое понятие как "словари". сам словарь это такая сущность состоящая из 3 частей. * xml файла с описанием словаря. * в файле есть ссылка на url как получать данные * есть микросервис который эти данные должен отдать. так получилось что пользователи попросили а програмисты написали отдачу новых данных в словарь. и теперь его надо притащить. по логике деплой отделен от конфигурирования кто и когда это должен сделать ? деплой ? значит конфигурирование clickhouse будет в деплое, но ведь его надо ставить еще. значит ставим в одном месте а конфигурируем в другом ? значит програмисты должны это делать ? провиженинг ? но новый словарь содержит только новая версия и при несовпадении словаря и данных будет жопа.
Mikhail
девпупсы — конфигурирование, программисты — деплой
Фломастеры. У нас наоборот в бывшей конторе было - задача кодера исключительно запушить на гитхаб свои коммиты, а как оно расползается и собирается его даже трахать не должно. Ну, за исключением того, что если он подключает какие-либо либы или пакеты из нагета - он это указывает, и изначально пишет инструкцию, как это собрать.
Nklya
Классическое ит, чо
Vladimir
> а как оно расползается и собирается его даже трахать не должно Именно от этого подхода в компаниях высоких рейт (само)убийств.
hackru
теперь что касается вот этой синтенции а так же "вордпресодеплоя". есть микросервисное приложение. как часть решения есть кликхаус. у него есть такое понятие как "словари". сам словарь это такая сущность состоящая из 3 частей. * xml файла с описанием словаря. * в файле есть ссылка на url как получать данные * есть микросервис который эти данные должен отдать. так получилось что пользователи попросили а програмисты написали отдачу новых данных в словарь. и теперь его надо притащить. по логике деплой отделен от конфигурирования кто и когда это должен сделать ? деплой ? значит конфигурирование clickhouse будет в деплое, но ведь его надо ставить еще. значит ставим в одном месте а конфигурируем в другом ? значит програмисты должны это делать ? провиженинг ? но новый словарь содержит только новая версия и при несовпадении словаря и данных будет жопа.
так, ты приводишь какой-то частный случай и считаешь что это типично для всех?
Aleksey
Я привожу случай который предлагает подумать о применимости твоего деления
Bruno
Bruno
(this will end well)
Aleksey
у него ro на неделю.
Alexander
как из вывода команды получить IP в переменную, чтобы потом использовать значение?
Alexander
- name: Get Vlan1 IP asa_command: commands: - sh int Vlan1 ip brief provider: "{{ cli }}" register: result
Aleksey
ух ты живой сетевой инженер с ансиблом
Alexander
т.е. регэксп применить или как-нибудь ещё
Vadim
прячьте своих цоев
Mikhail
> а как оно расползается и собирается его даже трахать не должно Именно от этого подхода в компаниях высоких рейт (само)убийств.
В прощальном письме, Олежа написал: "Прошу во всем винить девопса Михаила, он не объяснил мне билдчейн в тимсити"
Vadim
Aleksey
-debug: msg="{{ result.stdout | regex_search('(foo)') }}"
ой. реализация грепа для сетевых инженеров на стороне ансибла ?
Aleksey
конечно грепа нет. как правила железяки умеют include и не очень интеллектуальный
Sergey
оно чо на руби ?
да, и заточено под рубишные штучки-дрючки. Ну как вот для питона, например, есть Fabric, так и тут......
Vadim
чьорт, а как мне в одну группу добавить чилдренов другой? Пытаюсь хосты из группы tag_awx_masters_True добавить в группу masters, получаю: creating host via 'add_host': hostname=tag_awx_masters_True [WARNING]: Found both group and host with same name: tag_awx_masters_True
Alexandr
всем привет. может подскажете, что я делаю не так или криво пытаюсь сделать? есть группа, на которую пытаюсь запустить плейбук [app:children] front back [front] front1 front2 [back] back1 id=someid1 back2 id=someid2 back3 id=someid3 back4 id=someid4 при подливке темплейта на front пытаюсь в нем итерироваться по хостам back следующим образом: {% for host in groups['back'] %} backend {{ hostvars[host]['id'] }} host = "{{ hostvars[host][ansible_default_ipv4][address] }}" {% endfor %} в итоге переменная id подставляется, а вот ip хоста из back группы подставляться не хочет. при запуске плейбука на группу app gather_facts выставлен в yes
Sergey
я бы начал с того, что в квадратных скобках поставил одиночные кавычки вокруг индексов
Sergey
то бишь вокруг host не надо, разумеется - это перtменная Jinja, а вот всё прочее должно быть окавычено, факт
Alexandr
да, тут я неправильно скопипастил
Alexandr
в общем, суть проблемы в том, что ансибл ругается "msg": "AnsibleUndefinedVariable: 'dict object' has no attribute 'ansible_default_ipv4'"}
Sergey
так вызови ansble -m setup и посмотри, какие переменные точно доступны. если мне не изменяет память, то такой уже нет, и достаточно давно.
Alexandr
в этом и дело, что такая переменная есть
Alexandr
2.3 версия ансибла стоит
Sergey
для дебага попробуй вставить сюда же что-то вроде: {{ hostvars['back1'] | to_nice_yaml }} тогда увидишь, точно ли такая переменная есть
manefesto
что за with_nested ?
Pavel
что за with_nested ?
в документации же http://docs.ansible.com/ansible/latest/playbooks_loops.html#nested-loops
manefesto
всё понял
manefesto
уже
Алексей
Всем привет. Подскажите, пожалуйста, как работает модуль докера (http://docs.ansible.com/ansible/latest/docker_module.html) он обрщается к докер апи с машины, на которой работает ansible? или по ssh команды передает?
manefesto
там ставиться docker-py
Vlad
Это устаревший модуль, нужно использовать docker_container. Ansible общается через сокет, сетевой или локальный.
manefesto
который уже и работает с долкером
Vladimir
http://blog.gelin.ru/2018/01/ansible.html - полезный и весьма подробный пост про использование Ansible в отдельно взятой компании.
Vadim
>В общем, имеет смысл файлы и шаблоны складывать в Inventory тоже. Если это действительно сложные файлы, радикально отличающиеся для разных окружений.
Vadim
wat
Vadim
сначала группируем хосты по группам, а потом "ёбушки-воробушки, зачем роли вообще, давайте совать темплейты прямо в инвентори"