Kirill
а mitogen уже смотрели?
еще нет - спасибо за наводку
Kirill
помниться 2.4 сильно текла при инклюдах
оно самое - сидим на 2.4.3 но вроде как раз в 2.4.3 это правили но она 2.5+ пока мигрировать не могли, хотя вроде там наконец починили lineinfile
Vadim
в наших масштабах - десятки хостов - более-менее 2.4.3 работает. 2.6 еще не пробовали
Anonymous
pastebin лучше. Весь bootstrap.yml проскипован - как он инклюдится?
Огромное спасибо. Действительно проблема была в способе подключения. Для меня не было очевидно, что если include нет, то таски будут всё равно показываться. - include: bootstrap.yml when: repmgr_bootstrap|bool
Vadim
угу, include теперь статичный - что, кстати, довольно удобно
Kirill
используется
Nklya
можно подумать на тему разделения запуска. Я сомневаюсь что прямо вот всегда нужно одновременно гонять по сотне хостов
Kirill
Разделяем. Но раз в большой релиз надо прогонять все роли
Nklya
Там еще может играть роль откуда выполняется все это. Если с хоста админа через впн и бастион, то все может быть печально
Sergey
особенно если в облаке.....
Sergey
кстати, нерусским по белому в доках ансибла написано, что используйте хост внутри облака для нормальной скорости
Dmitry
А мы готовим образ на берегу, упаковываем в тарбол и разливаем торрентом. Недавний тест - 700 нод за 8 минут. 5 из готорых инициализация сраного уефи.
Oleksandr
интересный способ.
Oleksandr
я читал что badoo в деплое тоже когда-то использовали торрент, но в итоге пришли к diff дельте для изменений
Oleksandr
https://habr.com/company/badoo/blog/413503/
Oleksandr
но они апдейдят так код, а не образы
Nklya
то что делает баду, лучше не читать никогда
Nklya
для психического здоровья в первую очередь
Oleksandr
почему же. читая, можно понять как лучше никогда не делать 😊
Nklya
Это просто кромешный ад и пиздец. Как минимум в администрировании и их отделе "мониторинга" с заббиксом
Dmitry
у меня тоже есть статья на хабре, кстати https://habr.com/post/324750/ с тех пор, правда уже новая версия вышла, но пока нет времени написать статью
Dmitry
Правда это не совсем про ансибл. Точнее совсем не. Сорян, увлекся. Мы анзиблем сверху намазываем в другом проекте.
Stas
народ
Stas
как реализовать
Stas
есть в дефолтах словарь
Stas
экстра варсами передается список со значениями из этого словаря
Stas
но их может быть либо столько же, либо меньше
Stas
и нужно запилить новый словарь
Stas
из этого списка
Nklya
нужно
Nklya
больше
Nklya
писать
Nklya
слов
Nklya
а
Nklya
то
Nklya
не
Nklya
сразу
Nklya
понятно
Stas
а ты остроумный
Artem
Vadim
запилить словарь из списка? Интригующее начало
Stas
написано же вроде
Stas
что в дефолтах словарь
Stas
список передается со значениями из этого словаря
Stas
тоесть нужно из этого списка сделать новый словарь взяв ключи из старого
Stas
но я уже сделал всеравно
Vadim
а в этом списке, что будет ключем, а что значением?
Stas
в списке только значения
Stas
видимо плохо объяснил
Stas
есть словарь в дефолтах. допустим там 20 пар
Stas
хочу сделать возможность передавать список 3, 5 и тд значений
Stas
и чтобы из них делался новый словарь, берущий ключи из дефолтового
Vadim
ну да, так и сделайте, осталось только придумать как значение n в списке связать в ключом foo
Stas
значения в списке
Stas
присутствуют в дефолтовом словаре
Stas
тоесть чтото чего там нету не может быть в списке
Stas
грубо говоря это все для того что бы можно было сделать меньший список
Sergey
значения в списке
штатные инструменты не подходят?
ShadoWalkeR
Господа. Есть интересный вопрос. Я могу объявить loop так: loop: - var1 - var2 Могу так: loop: - { n1: var1_1, p1: var1_2} - { n2: var2_1, p2: var2_2} А что если мне нужно сочетать оба способа? К примеру p1/p2 должен содержать список? Как это реализовать?
ShadoWalkeR
Да, в догонку - как мне включать - {} в loop если есть условие? Чтото типа loop: - { n1: var1_1, p1: var1_2} - { n2: var2_1, p2: var2_2} when: n3 == true
ShadoWalkeR
И еще немного усложним задачу: - { n2: var2_1, p2: var2_2 when ansible_os_family == 'Debian' or p2: var2_3 when ansible_os_family == 'RedHat' } when: n3 == true
ShadoWalkeR
Мне это надо в очень исключительных случаях
Timur
Как вариант: include_tasks: "{{ item }}" with_first_found: - "{{ ansible_os_family }}.yml" - not-supported.yml
ShadoWalkeR
Ваше решение не подходит для вопроса озвученного выше
Timur
Тогда опишите задачу яснее
Timur
А то выше не вопрос, а какие-то странные варианты решения непонятной задачи
ShadoWalkeR
Мне нужно для некоторых исключительных случаев в loop добавлять строки для обработки и еще реже в зависимости от архитектуры определять переменную. Я могу это на инклудах сделать - но ради поддержки такого решения мне придется шерстить регулярно пачку файлов
Vladimir
Для p1 p2 можно так { p1: [a,b]}
ShadoWalkeR
Причем количество файлов будет расти в геометрической прогрессии - сейчас мне нужно всего 2 строки добавить и определить 1 переменную на основе архитектуры - это уже 2*2. В принципе можно поиграться и свести количество файлов к 3. Но если будет больше такого - то и включаемые файлы расти будут в разы
ShadoWalkeR
Для p1 p2 можно так { p1: [a,b]}
Это как я понимаю создаст вложенный список?
Vladimir
да
Vladimir
для определения переменной от архитектуры можно сделать дикт в котором ключ это архитектура а значение это значение переменной
ShadoWalkeR
В общем немного понасиловав ансибл не удалось реализвать наркоманию, которую хочу. Пришлось делать таску на генерацию списка 😞
Alex
привет. кто занет как в новом гэлакси создать неймспейс для гитхаб организации?
ShadoWalkeR
Господа. Я пришел с очередной наркоманией - тема хэндлеры. В принципе у меня все хэндлеры очень типовые - после генерации service файла для демона рестартануть его и включить в systemd. В принципе хэндрер получается одинаковый для всех. Но есть но - по определенным причинам имена демонов сохраняются в разных переменных, поэтому такой хэндлер: - name: restart_daemon {{ daemon }} systemd: name={{ daemon }}.service enabled=yes state=restarted daemon_reload=yes покрывает только часть вызовов. Чтобы не плодить хэндлеры можно ли как то сказать ансиблу, что параметр после пробела надо сохранить в переменную и использовать её внутри хэндлера - то есть превратить его в шаблон.