Aleksandr
разработчики должны иметь возможность прочитать в репе темплейт конфига и переменные для него. что-то нужно добавить или изменить, пусть делают pr
Aleksey
ой не это не было предложением о работе вовсе. только ругань
Aleksey
если у вас разные шаблоны и вы не можете сделать их близкими разделите на более мелкие шаблоны
Aleksey
собирайте основной шаблон из более мелких
Vladislav 👻
Подскажите, можно ли для модуля user сделать так, что при добавлении в группу, если пользователя нет, он падает с ошибкой?
Vladislav 👻
Т.е. суть в том, чтобы модуль не создавал пользователя в системе, если его нет, когда делается добавление в другую группу
Alex
https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html#how-to-differentiate-staging-vs-production
читали?
Sergey
Sergey
Вангую, что там вопрос прав и отображение пользователей.
Alex
плейбук одby и тот же, запускается от одного пользователя - ansible
Alex
отличие только в ОС - у меня MacOS, на Jenkins - Ubuntu 16 и версия питона у меня 3.8 (хотя проверял и на 2.7), на Jenkins 2.7.12
Alex
к тому же у таска стоит become: yes
Alex
так что врядли дело в правах
Sergey
Alex
в обоих случаях был CentOS 8
Sergey
Я же про версию питона
Alex
Python 3.6.8
Vladislav 👻
Alex
классика
Alex
но каким чудом оно тогда архивирует при запуске локально - загадка
Sergey
Исполняется на Python3?...
Alex
в случае локального запуска - да, на обоих машинах 3й питон
Alex
но я локально запускал и на 2м питоне через pyenv, все равно копировало симлинки
Sergey
А анисблы сами, может, различаются?
Dan
Я тут начал смотреть на gcp_compute_instance, и как оказалось у него нету count, то есть оно создает одну машину. Если мне надо несколько одинаковых то есть другой модуль, или гонять эту дрянь через loop? Может есть пример у кого-нибудь?
Alex
поэтому и использую 3й - где это возможно
Alex
просто не совсем понятно - причем тут версия питона к функционалу самого модуля
Alex
если он не поддерживает симлинки - так он их должен не поддерживать хоть на 2м хоть на 3м питоне
Alex
нее?
Dan
нее?
подозреваю что локально он выполняет tar или что-то в этом роде, а tar уже и сам ходит по симлинкам. А удаленно хз, может он тянет файлы на локалхост и уже там их архивирует, и эта функция не понимает симлинки. Надо в код смотреть на самом деле
Alex
в смысле локально
Alex
архивация логов выполняется на CentOS8
Sergey
Dan
в смысле локально
архивировать кучку файлов ансиблом (то есть с какого-то хоста через ssh) можно пакуя на удаленном хосте или сначала притащив рспакованное к себе и упаковав локально
Alex
Alex
что то какая то фантастика
Dan
Dan
и просто привожу пример с потолка, я не говорю что именно так он все и делает
Alex
еще раз - в обоих случаях файлы удаленные и находятся они на машине под управлением CentOS8
Alex
меняется только управляющий хост с ансиблом
Dan
# python3 tarfile module allows xz format but for python2 we have to create the tarfile
# in memory and then compress it with lzma.
одна разница нарисовалась
Dan
какой формат архива?
Alex
zip
Alex
Andrey
Гайз, подскажите, может кто сталкивался, хочу ансиблом скопировать template , который содержит {{ }} фигурные скобки, как это можно сделать не больно?
Vladislav 👻
Aleksandr
https://docs.ansible.com/ansible/latest/user_guide/playbooks_advanced_syntax.html#unsafe-or-raw-strings
Vladislav 👻
Но в темплейте я лично использую {% raw %} ... {% endraw %}
Vlad
Dan
повторюсь :)
Я тут начал смотреть на gcp_compute_instance, и как оказалось у него нету count, то есть оно создает одну машину. Если мне надо несколько одинаковых то есть другой модуль, или гонять эту дрянь через loop? Может есть пример у кого-нибудь?
Dan
Andrey
citius
Dan
Alex
Alex
что там без слез смотреть нельзя было
Dan
Alex
угу
Alex
я про них и говорю
Alex
более того я общался с самими ребятами из гугла. кто занимался написанием новых модулей
Alex
в итоге плюнул на них (на модули, не ребят) и перешел на тераформ ))
Dan
блин...
Dan
это хреново. Не хочется начинать сначала
Dan
Aleksandr
Tadeusz
😊
Aleksey
Стоит ознакомится с jinja2
Aleksey
Ну или с приложением Яндекс.таксист
Aleksey
В шаблонах есть и if и for