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