Evgeniy
затем чтоб видеть что она делает
Vladislav 👻
у меня дебаг используется только в чисто тестовых плейбуках/ролях, но это не прод и просто проверяю различные гипотезы поведения ansible, а не самой роли
Evgeniy
тебе ж не всегда надо значения переменных при выполнении видеть, а только при отладке
Vladislav 👻
для самой роли надо использовать полноценные тесты
Vladislav 👻
🤦‍♂️
Evgeniy
что значит полноценные ?
Vladislav 👻
"а все кто делают не так как я - дураки"?
я это не говорил, не надо додумывать
Vladislav 👻
просто напихать дебага, потом кричать, что мне надо его убрать в выводе- верх гениальности
Max
Привет чат. Может у кого есть линки на внятные статьи/маны по jinja2? каждый раз бъюсь головой об него, когда надо сделать очреденой список с кавычками, запятыми и прочим подобным.
Max
или онлайн сервис вменяемый
Max
http://jinja.quantprogramming.com/ не зашло
Vladislav 👻
что значит полноценные ?
molecule например, или какой-нибудь свой самопал
Vladislav 👻
аналогично утверждать что дебаг не нужен никому и никогда
я утверждал, что он не нужен в ролях для прода
George
или онлайн сервис вменяемый
мне кажется, что тебе надо пихтон подтягивать и читать побольше документации... на саму джинджу
Max
http://jinja.pocoo.org/docs/dev/templates/#map офф ман без примеров тоже сложно понятен
George
ну, и вообще она не для сложных вещей
Evgeniy
ну это уж мне решать на сколько мне удобен дебаг в роли
George
ибо, как ты заметил, она очень быстро становится месивом
Vladislav 👻
решайте
Max
мне кажется, что тебе надо пихтон подтягивать и читать побольше документации... на саму джинджу
тебе не кажется) так и есть) но вот именно сейчас мне надо сделать отформатированный список
Andor
я утверждал, что он не нужен в ролях для прода
нет, ты утверждал, что ты в своих ролях для прода его не используешь, это не то же самое
Vladislav 👻
нет, ты утверждал, что ты в своих ролях для прода его не используешь, это не то же самое
действительно, это даже не посыл кого-то, а просто свой пример
Andor
именно, это не значит что все должны делать точно так же как ты
George
что ты уже написал
Vladislav 👻
именно, ибо написал, что я так делаю
Vladislav 👻
не надо доебываться до слов
Andor
кому как удобно - тот так и делает
George
вы еще подеритесь
Andor
кому-то молекулой удобно, а кому-то хуяк-хуяк-и-в-продакшн с дебагом
Vladislav 👻
не спорю, я не использую молекулу
Vladislav 👻
я использую тестовый инвентори, прямой доступ и vvvvv
Evgeniy
молекулу ты используешь потому что у тебя OpenSource окружение, была бы проприетарщина нах она тебе была бы не нужна
Andor
короч простой ответ: нет, SKIPPED дебаг не спрятать без хаков
Evgeniy
спрятать
Evgeniy
помечаешь такси тегом never например, а потом запускаешь роль с ключем --tags all,never только когда тебе дебаг нужен
Evgeniy
ну это и не хак
Andor
но это красивый хак
Evgeniy
в ansible так то всё хак
Andor
мне нравится, даже буду использовать сам, пожалуй
Max
пиши что нужно сделать
есть группа хостов в hosts, надо её перечислить в json валидном формате, это для шаблона json конфигв вида "servers": [ [ "hostname1", "hostname2", "hostname3" ] ],
Evgeniy
в документации говорят ещё есть переменные TAGS_RUN и TAGS_SKIP, которые можн оправить и задавать какие таски не выполнять без надобности
Andor
в ansible так то всё хак
можно генерализировать до всего околокомпьютерного
Evgeniy
но я найти их не могу
Evgeniy
где они нах
Andor
шаблон json конфига
тебе нужен фильтр tojson
Max
А без нее никак?
в общем проблема в том, что резолвинг типов переменных в питоне вообще, и в ансибле в частности - дело нетривиальное. можно передавать не переменные россыпью, а файлами. внутри yaml можно указывать var: true и это будет булианской переменной.
Max
https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#filters-for-formatting-data
спасибо, читал, но видимо слишком по диагонали
Evgeniy
ну это ты просто теги к самому импорту привязал и всё
Max
ну это ты просто теги к самому импорту привязал и всё
ну да, чтоб кажую таску не помечать. группировка же
Andor
спасибо, читал, но видимо слишком по диагонали
ну короче ты просто их в список получаешь, делаешь dict в жынже и потом tojson и у тебя сразу нормальный валидный жсон
PsyDebug
http://jinja.quantprogramming.com/ не зашло
Обычно помогает просто применить шаблон к yml с переменными и посмотреть что получилось на выходе
Max
ну короче ты просто их в список получаешь, делаешь dict в жынже и потом tojson и у тебя сразу нормальный валидный жсон
мне приходило это в голову. но пятница вечер не слишком способствовали=)) еще раз спасибо)
Max
Обычно помогает просто применить шаблон к yml с переменными и посмотреть что получилось на выходе
да, через дебаг. предположил, что стоит потыкать в онлайн валидатор, но он кривоват
George
или взять j2cli и поиграть руками
Evgeniy
ну да, чтоб кажую таску не помечать. группировка же
а я говорю ты можешь взять за правило помечать например некоторый вывод тегом debug, а с помощью переменно TAGS_SKIP = debug, указать что эти таски выполнять всё время не надо, а надо выполнять только когда --tags all,debug в командной строке указано
PsyDebug
посмотрю,, спасибо
ansible all -i "localhost," -c local -m template -a "src=roles/myrole/templates/mytemplate dest=./test.txt" --extra-vars=@roles/myrole/defaults/main.yml
Evgeniy
https://docs.ansible.com/ansible/latest/user_guide/playbooks_tags.html
Ну вот я заебался их искать эти TAGS_RUN и TAGS_SKIP. Что они имеют ввиду когда говорят 'Ansible configuration settings'? .ansible.cfg ?
PsyDebug
хмм, магия)
берёт темплейт roles/myrole/templates/mytemplate, подставляет в него переменные из roles/myrole/defaults/main.yml. на выходе test.txt с готовым содержимым
Vladislav 👻
Либо env
Evgeniy
Вроде да
ну там нету (если только их не надо как-то самому добавить)
Vladislav 👻
Ну да
Vladislav 👻
Более того, у каждой папки/проекта ansible может быть свой cfg файл, просто пишем что надо и все