George
И все его содержимое в недрах ансибла мержится каким-то образом
Отделение Bereke Bank
просто в видосе было показано
group_vars/
group/
service1.yml
service2.yml
Что в данном случае service-ы? просто groupvars группы разбитый на несколько файлов? или group_vars-ы children-ов группы group?
George
Vladislav 👻
Отделение Bereke Bank
Vladislav 👻
тогда не понял вопрос
Vladislav 👻
ааа, понял, в общем просто создавай папку с названием группы
Vladislav 👻
мы так и делаем
Vladislav 👻
Отделение Bereke Bank
понял, спасибо
Vladislav 👻
если что, я файлы называю по имени роли, так проще потом что-то где-то добавлять/править
Vladislav 👻
и понятное дело, стараюсь не использовать зависимости переменных в рамках одной глубины, т.е. чтобы не было в service2.yml переменных из service1.yml
George
George
last call wins ?
Vladislav 👻
Алфавитная сортировка
Vladislav 👻
В общем, последовательность, как в папке
George
Да я понял. Я про другое
George
Если всё-таки будет одна и та же переменная в двух файлах, то из какого файла значение будет видно ?
George
Явно же не оба
Александр
драсьти
Александр
а lineinfile может дописывать в конец найденной строки?
Александр
или для этого другая функция есть?
inqfen
insertafter в lineinfile
inqfen
если я тебя правильно понял
Александр
он вставляет ещё одну строку
Александр
а мне нужно в этой же строке
inqfen
А, понял
inqfen
Вроде с backrefs можно захватить текущую строку в группу а потом изменить на группа + то, что надо
inqfen
Но сам лично не юзал
Александр
хммм
Александр
похоже оно
Александр
щас затестю
Vladislav 👻
Vladislav 👻
в алфавитном порядке
Vladislav 👻
а если есть кривая зависимость, то может упасть с ошибкой
Vladislav 👻
Например: в service1.yml есть vat_t1: "{{ var_t2 }}", а в service2.yml объявляется только var_t2
George
в смысле - зависимости только внутри одного файла, не после мержа?
Vladislav 👻
Либо еще хуже, возьмется дефолтное значение из роли или выше по структуре
AB 🇨🇾 🍉
Подскажите, что не так?
YAML валидатор говорит что все ок. Но ансибл ругается
inqfen
Написано же в ошибке
George
написано в ошибке
inqfen
env должен быть dict
George
ты передаешь лист диктов
George
а он ожидает дикт
Vladislav 👻
inqfen
а у тебя лист
George
короче - минусы перед каждой переменной окружения удали
George
очевидно, что все варсы так или иначе мержатся внутри ансибла
inqfen
А лучше почитай синтаксис ямла и вопросы сами отпадут)
George
как я понимаю, вычисление переменной происходит ПОСЛЕ мержа всех yamlиков внутри каталога group_vars/чего_то там
George
ты же утверждаешь ровно обратное
George
а. кажется понял
George
т.е. как в С++ - условно определение переменной должно быть в файле, который первый мержится
Vladislav 👻
это как в одном файле объявить:
var_t1: "{{ var_t2 }}"
var_t2: "xz"
George
все. понятно. ок. спасибо
Vladislav 👻
должна соблюдаться последовательность
Александр
Александр
странная ошибка какая-то
George
George
Александр
это я попытался backrefs поюзать
Александр
если в line добавляешь \1 в любое место, то вот эта ошибка
Александр
raise error, \"invalid group reference\" <- это видимо суть :D
Александр
...блин
Александр
судя по гуглу, он просто жалуется что я ему пустую строку даю
Александр
типа нет такого рефа
Vladislav 👻
Александр
нипанятна
AB 🇨🇾 🍉
Vladislav 👻
по документации 2.8 ничего кстати не поменялось
Vladislav 👻
просто похоже пример касячный...
AB 🇨🇾 🍉
точно, дока ус тарела спс
Vladislav 👻
даже не устарела, это новый пример, который непонятно откуда взялся
Vladislav 👻
Vladislav 👻
вот тоже пример из 2.8
AB 🇨🇾 🍉
видимо, апдейт кода сделали, а доку не обновили