George
George
У ч-ка проблема с трафиком
George
Остальное пока под пеленой тумана
George
И невнятного описания задачи
Rainbow
бекдоры по роутерам раскатывает? 😁
George
Идемпотентность - это в рамках одного узла, замечание верное
Anton
Как группе добавить переменную не обращаясь к файловой системе через include_vars?
checkdiff
Anton
set_fact?
Он научился факты ставить группе а не на хост в котором чейчас играет?
checkdiff
Anton
Мне только include_vars приходит на ум. Который позволит дополнить группы нужными переменными. Хотя в принципе конечно можно пройтись по всем хостам в группе с delegate_to для set_fact. Но это по моему крайне затейливо. Так же как создавать файл для группы чтобы в него сначала выгрузить переменную а потом загружать.
checkdiff
Скорее всего утром будет вопрос про основную задачу: откуда вы эти переменные в runtime берете?
Мне кажется что еще можно эту штуку растыкать: https://docs.ansible.com/ansible/latest/user_guide/playbooks_delegation.html#delegated-facts
Sergey
Sergey
остальное от лукавого, и является попыткой программирования на Ansible
Ilya
В чем может быть трабла? В awx проект подтягивается с гита. Создаю job template, хочу выбрать плейбук tasks/main.yml, но пишет что такого нету. В менюшке выпадающем списке есть только плейбуки с корня репо и некоторые с папки molecule.
Или я в корне не правильно пытаюсь запустить роль с гита?
Михаил
Михаил
Надо создать плейбук, который вызывает эту роль
Михаил
И в job template указывать уже его
Ilya
И в job template указывать уже его
То есть, чтобы я смог запустить например эту роль
https://github.com/dj-wasabi/ansible-zabbix-agent
То я в корне создаю ещё отдельный плейбук где указываю чисто
role: role-from-git?
Михаил
Всё верно
Ilya
Сделал в корне плейбук, все равно пишет playbook not found for project
С гитом синхронил после изменения
Ilya
Баг или фича или я криворук, но если в проекте указать бранч, то в job template плейбук в корне не виден
Если в проекте указать allow branch override и потом указать branch уже в job template, то начинает видеть плейбук🤷♂
Anton
group_vars / vars_plugin
Я правильно понимаю, что include_vars не является путём программирования и использование его для назначения групповых переменных не является программированием? Т.е. это будет "лайфхаком"?
Sergey
Sergey
Но и тут with_first_found или лукапы в помощь.
Barthez
То, что не нужно ансиблом городить сложные логические и алгоритмические конструкции. В оф. документации написано, что создавайте максимально простые плейбуки и роли, не в коем случае не усложняйте.
Barthez
Создайте модуль для ансибла и используйте его
Dmitry
о, вот это хороший вопрос
Dmitry
так точно
Barthez
Для начала надо определить цель может ансибл как инструмент не подходит для достижения вашей цели.
Barthez
Тогда конкретезируйте. Для, чего вам ансибл? И да, какой вопрос такой и ответ.
Rainbow
когда скучно на работе 😂
Barthez
Ну тогда возвращаемся к моему посту выше.
Цель нужно определить.
Barthez
Что мы хотим иметь на выходе?
Barthez
Ну так в чем проблема? Забудем про ансибл. Эта задача решается другим инструментом?
Barthez
Нет, это можно сделать уже готовыми модулями ансибла
Barthez
Так в чем уход от ответа? Я лишь пытаюсь абстрагироваться.
Barthez
А вы могли обратиться к официальной документации?
Barthez
Тогда думаю у вас бы отпали все вопросы
Отделение Bereke Bank
Нет. Да
Aleksandr
когда надоест жонглировать готовыми модулями пытаясь изобразить логику, тогда придёшь к написание своего модуля. Ансибл разве умеет в паузу без костылей?
Lamobot
George
Если эти задачи выполняются на протяжении суток - ансибл не подойдёт
George
Если в условном интервале 5-10 минут и в рамках одной или нескольких машин - почему нет
George
Циклы - отставить
George
Любой out of order в ансибле это боль
George
Что ещё. Глобальные переменные. Если задача обрабатывать данные - ансибл тоже не подойдёт.
Lamobot
George
Я правда был бы очень признателен где бы написали перечень задач и пояснили, где ансиболь хорошо, а где нет
George
Lamobot
"пример можно?" (с)
Отделение Bereke Bank
UglyKoyote
ансиблом поставить аирфлоу а потом через аирфлоу запускать ансиблом задачи? :)
UglyKoyote
наркоманы блин)
Lamobot
Художник что ли нужен чтобы это сделать?
George
Дирижёр, епть
Lamobot
Задача немного абстрактная, но:
Для редких запусков не увидел пока никаких причин не использовать ансибл.
А если вам нужно постоянно так делать, то да, ищите решения/городите огороды.
Отделение Bereke Bank
George
> Для редких запусков не увидел пока никаких причин не использовать ансибл.
для редких запусков ансибл там нафиг не уперся
George
ты плейбук будешь дольше писать
George
является ли ансибл тьюринг полным лол
Lamobot
George
модули - плагины - очевидно, когда у тебя не хватает функционала встроенного
George
@tnt4brain
Vlad
или скорости что немаловажно
Lamobot
Я уж не говорю, что каждая новая технология в проекте требует обкатки и проверки
Отделение Bereke Bank
Когда твой плейбук и роли начинают походить на kubespray - пора писать свой модуль
George
ты хочешь метрику. Цифру. Такого нет. Конечно, для нормальных ЯП считают цикломатическую сложность кода
George
для ансибла как ее посчитать - хз
George
но факт в том - если трудоемкость понимания плейбука зашкаливает, он становится fragile при эксплуатации и поддержке - надо что-то менчть
George
но это качественный критерий
Sergey
Мой доклад со "Стачки" посмотри. Когда у тебя объектная модель проекта слишком отличается от объектной модели Ansible - пора кодить. Всё просто.