Lamobot
Дмитрий
tutunak
осталось донести руководству)
а что доносить, херач правильно, ну либо зарабатывай авторитет, если руководство не вменяемо то меняй работу. Ну как то странно что руководитель принимает решение о том писать ли роли нормально или городить хрень
Отделение Bereke Bank
galaxy у всех 503 выдает?)
tutunak
galaxy у всех 503 выдает?)
в гуе, Error! Query user failed: (Http failure response for https://galaxy.ansible.com/api/v1/content_blocks/: 503 OK)
Error! get api root user failed: (Http failure response for https://galaxy.ansible.com/api/: 503 OK)
tutunak
совету не юзать галакси как сорс для себя в dependencies. лучше брать с гита, а еще лучше - зеркалирование к себе в гит
Elenhil
да
Elenhil
https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html
Aleksey
Aleksey
опять редхат всё сломал
Ivan
ку!
у меня есть плей, в котором две роли.
на ansible 2.7 одна роль имела доступ к defaults/main.yml переменным другой роли, а на 2.9 уже не прокатывает такое
с чем это может быть связано?
Elenhil
Elenhil
в смысле если вы указали тег - меняется переменная?
Elenhil
это очень плохая идея
Lamobot
На тёмную сторону силы захотел? :)
set_fact в зависимости от тэга...
Elenhil
зачем три раза делать таск?
Elenhil
если оно в рамках роли - пизните в хэндлеры. Если в рамках плейбука - отдельным таском\ролью
Отделение Bereke Bank
Окей а тег почему меняется?)
Lamobot
Красиво - разделить инвентарь в три группы со своими варсами и запускать на три группы. И тэги забыть
Elenhil
Elenhil
а не в другой роли
Elenhil
зачем его менять в зависимости от тега?
Elenhil
copy в var
Elenhil
var в групварз
Elenhil
пускается на стейдже - кладется в одно место, на проде - в другое итп
Lamobot
Динамический инвентарь :)
Lamobot
Ещё, как вариант, попробовать сделать группы через group_by/add_host по тэгу
Elenhil
тэги то вам зачем?
Отделение Bereke Bank
Надо определить
Отделение Bereke Bank
Теги вообще зло
Отделение Bereke Bank
Надеюсь когда нибудь их выпилят нафиг
Отделение Bereke Bank
Elenhil
ну определите
Lamobot
Просто это выглядит как "Я тут ложкой хочу поесть какахи, но чёт невкусно! Как сделать вкуснее?" Тебе предлагают варенье мёд итд, А ты всё равно "Нет, давайте мне какахи вкуснее сделайте!" :))))
Lamobot
Ну нет пока tag_vars, и скорее всего никогда не будет. А group_vars - есть :)
Elenhil
1) это через жопу
2) мы можете в какой-то момент забыть поставить тег
3) существуют group_vars, решающие вашу задачу на 100%
Aleksandr
откройте мануалы и посмотрите best practice от вендора
Elenhil
это невозможно
Aleksandr
по инвентори и тд
Elenhil
вы пихаете хост в инвентори внутрь группы
Elenhil
с того бы, что хостов без группы не существует
Aleksandr
если вас не устраивает решение вендора - сходите в папет/салт)
Elenhil
нет
Elenhil
они в группе all
Elenhil
или как там она, ungrouped?
Lamobot
https://docs.ansible.com/ansible/latest/reference_appendices/special_variables.html
Ок. Хочешь тэги - есть переменная ansible_run_tags, делай через неё include_vars
Elenhil
то есть вы предполагаете, что "по какой-то причине пихнул хост не в группу а вне группы" - более вероятное событие чем "запустил плей с неверными тегами"?)
Elenhil
вы повышаете риски на порядок
Отделение Bereke Bank
у темплейт в src у тебя переменная. так? src "{{ my_shit_var }}". Вот эту my_shit_var с нужным значением кладешь в group_vars
Отделение Bereke Bank
и my_shit_var не должна быть в vars роли. vars роли выше по приоритету чем переменные инвентори
tutunak
Никто тебя не может остановить )
Отделение Bereke Bank
- name: Include my shit vars
include_vars: "{{ item }}.yml"
when: item in group_names
loop:
- copy1
- copy2
Отделение Bereke Bank
Не уверен что синтаксис when правильный. пробуй) в vars должны лежать copy1.yml copy2.yml
Elenhil
но зачем
Elenhil
Elenhil
"я не хочу использовать инструмент для забивания гвоздей, дайте мне твердый микроскоп"
Tadeusz
Elenhil
Вам уже давно сказали - суньте хост в группу а вары - в групварс
Elenhil
и всё
Отделение Bereke Bank
очевидно мы не знаем всей картины)
Elenhil
ужас, это ведь так тяжело
Elenhil
суешь в инвентори в нужную группу
Elenhil
это называется group_vars...
Отделение Bereke Bank
но ты же переизобретаешь group vars
Отделение Bereke Bank
Elenhil
group_vars
Elenhil
Elenhil
шта
Отделение Bereke Bank
Elenhil
это именно то для чего нужен игвентори
Elenhil
И?
Elenhil
и они в инвентори, вуаля!
Sergey
У роли нет поддержки переменных для групп, и это не просто так, от балды.
Sergey
Роль не должна ничего знать о группах, т.к. она вызывается из плея. И именно плей декларативно устанавливает связь между тасками/ролями и группами/хостами.
Sergey
Потому что это пишется в плее, Карл!
- hosts: такая_группа
roles:
- role: странное
Sergey
Cкладываешь переменные в inventory - и молодец жи.
Elenhil
а нах? Если есть group_vars