Damir
Аа, почему-то подумал что вы имели ввиду модуль для ансибла :)
Damir
https://docs.ansible.com/ansible/latest/plugins/lookup/dig.html
Вы не внимательно прочитали контекст переписки
Balagur
Какая задача решается?
выводить в файл имена серверов по их ip :)
Grek 🇺🇦
откуда вы берете список ip. берите оттуда же и fqdn
Balagur
ещё прошу помощи по шаблонам - есть файл переменных с вложениями почему по при указании шаблона: {% for item in list %} server {{ item }} {% endfor %} выводится только название в самом файле переменные вложенные, например так: list: test1: ['qqq'] test2: ['www'] test3: ['eee'] test4: ['rrr'] при дебагге выводится корректно
Vladimir
Или не?
Balagur
да, словарь
Sergey
Этож словарь получается list - название словаря, test1-4 - item.key
Верно. А значения ключей - списки из одного элемента.
Отделение Bereke Bank
Lamobot
Можно пример?
https://jinja.palletsprojects.com/en/2.11.x/templates/#for
Vladimir
Ну да, т.е. в item надо определять не название словаря, а ключи или значения
Vladimir
В зависимости от задачи
Balagur
спасибо!
Vladimir
спасибо!
Получилось?
GithubReleases
ansible/ansible tagged: v2.8.13 Link: https://github.com/ansible/ansible/releases/tag/v2.8.13 Release notes: New release v2.8.13
Alex
https://habr.com/ru/post/500802/#comment_21849058 Это ужасно, то ли я заблуждаюсь, то ли люди идиоты.
Dok
https://habr.com/ru/post/509938/
Vladimir
В теории ты можешь попробовать become_flags = -H -S -n --shell /usr/bin/script
а где можно почитать про эти аргументы? не могу найти в оф документации https://docs.ansible.com/ansible/latest/user_guide/become.html
Lamobot
Или man <метод become>
Lamobot
Это аргументы командной строки
Vladimir
ааа, это флаги к тому что указано в become method?
Anton
ребят, чет туплю, не могу понять что не так?
Sergey
Убираешь сам, ну или поможем. Вообще для выкладывания всякого разного есть pastebin, или любой удобный тебе сервис.
Антон
Пользователь от которого запущен ansible не может создавать файлы в /etc/ansible
Grek 🇺🇦
Пора открывать вечерний класс по чтению ошибок... На целевом хосте есть rsync? Прав хватает?
Антон
По идее так
Sergey
Удалил скриншоты.
Anton
Пора открывать вечерний класс по чтению ошибок... На целевом хосте есть rsync? Прав хватает?
да, все есть. Писал подобный плейбук для конфигов заббикса, все было норм
Grek 🇺🇦
Ну да, а пермишн денай сам по себе появился
Anonymous
коллеги подскажите, хочу сделать чтобы перменные хранились в такой схеме. Задача (ожидание) чтобы часть перменных бралось с уровня stg, а те что уже конкретные для aws брались на уровне aws. Сработает такое наследование ? /env/stg/group_vars/all/vars.yml /env/stg/aws/group_vars/all/vars.yml /env/stg/do/group_vars/all/vars.yml
Anonymous
да, то есть мысль чтобы у меня из алл наследовались енвы
Iwan
да, то есть мысль чтобы у меня из алл наследовались енвы
для каждой do,aws свой all должен быть тогда
Anonymous
да это понятно, не понятно про наследуються или нет
Anonymous
но у меня уже почти готов тест стнед и выясню сейчас это опытным путем
Iwan
да это понятно, не понятно про наследуються или нет
ansible-example\inventories\development\group_vars\all.yml ansible-example\inventories\example\group_vars\all.yml на одном из проектов вот так работает
Anonymous
так будет работать как вы привели пример, у меня сейчас так
Anonymous
появилась просто проблема что появились новые локации и что то общее перестало быть общим для всех, ест вариант прогружать перменные - я так тоже делаю, но мне кажеться это не красиво
Iwan
И здесь у тебя вполне структура по best practices #2
Пробуйте лучше как написали, максимально близко к best practices'ам - кмк.
Iwan
появилась просто проблема что появились новые локации и что то общее перестало быть общим для всех, ест вариант прогружать перменные - я так тоже делаю, но мне кажеться это не красиво
просто если у вас так получится, а что будет дальше когда ещё добавиться? Ещё и ещё усложнять придется, а с ansible наоборот должно быть легко и понятно
Sergey
Пробуйте лучше как написали, максимально близко к best practices'ам - кмк.
Не будет там наследования, если что. Доп. уровень каталога сверху всё испортит.
Anonymous
у меня и так по бестпрактикс - как в вашем примере. Но если сергей прав - задумка не удаться
Iwan
Не будет там наследования, если что. Доп. уровень каталога сверху всё испортит.
понял, но даже если оно будет лежать в inventories? Просто я думаю, что он всё сможет прочитать именно в inventories
Anonymous
да тип того, соотвественно для групп хостов все на уровне inventories/env/stg/group_vars/
Sergey
понял, но даже если оно будет лежать в inventories? Просто я думаю, что он всё сможет прочитать именно в inventories
Ты задаёшь конкретный inventory при запуске, все пути читаются от него. Говорят, можно задать несколько (сам не проверял, в чате мелькало).
Iwan
да тип того, соотвественно для групп хостов все на уровне inventories/env/stg/group_vars/
если есть время на эксперименты почему бы и не попробовать. Если вас это устроит и будет понятно не только вам, и не ломает бест практисы то в путь )
Anonymous
мне все равно кучу ролей переписывать ) так что между делом и проверю
Vladimir
Коллеги, такая штука не будет работать? loop: "{{ lookup('dict', '^users_.+') }}"
Vladimir
Тут loop в loop'e придется делать?
Vladimir
Хочу словари по по маске определять и обрабатывать
Anonymous
в общем итогг через мульти инвентари можно так делать, но это костыль
Anonymous
ansible-playbook get_logs.yml -i staging -i production
Anonymous
и порядок инвентари определяет порядок применения перменной если определны в обоих инвентарях
Fedor V
Vladimir
json_query не подойдёт?
В смысле, плагин query вместо lookup'a?
Vladimir
loop: "{{ query('dict', '^users_.+') }}"
Vladimir
Не робит :(
Fedor V
json_query это фильтр, поможет отфильтровать ^users_.+
Fedor V
lookup вроде как останется
Vladimir
json_query это фильтр, поможет отфильтровать ^users_.+
А это мысль. Есть же “regex_findall” filter
Vladimir
Побежал пробовать