Vladislav 👻
конструкция такая вся \"{{ lookup('env', 'INST' | default(\"\")) | replace('\n', ',') | replace('\r', '') }}\"
Меня очень сильно смущает эта конструкция... 🤔 Почему первые двойные кавычки экранируются?
Artem
Это типа json
Vladislav 👻
Тааааак, а что jinja делает в json?
Vladislav 👻
Я бы рекомендовал сначало расписать всю цепочку, чтобы было понятно
Artem
Убирает \n
Vladislav 👻
Каким образом "jinja в json" уберет что-то?
Vladislav 👻
Еще раз, это темплейт?
Artem
Появился \r\n после передачи параметров из тимсити. \n заменяет остаётся \r
Artem
Еще раз, это темплейт?
Нет. Плейбук. Таким образом получаю значение из environment.
Vladislav 👻
Я тогда ничерта не понимаю
Vladislav 👻
То что ты пишешь и показываешь работать априори не будет
Vladislav 👻
Покажи файлы
Artem
Какие показать?
Vladislav 👻
Для начала тот, в котором эта строчка
Vladislav 👻
Можно скриншотом кусок показать, где эта строка
Vladislav 👻
Просто я пока не понимаю, как это вызывается
Artem
https://pastebin.com/raw/SrC3Pu0v
Artem
как-то так
Vladislav 👻
я понял 🤔 вроде все ОК, сейчас гляну у себя подобную схему, что-то похожее вроде было
Vladislav 👻
а перенос фигурной скобки в конце, это просто для примера форматирование или так реально? вроде же не должно так работать в yaml перенос
Vladislav 👻
Vladislav 👻
слеш не тот
Anonymous
\r у него не канало, мы предложили попробовать /\r
Anonymous
как-то так
\ пропустил) /\r, а не /r
Vladislav 👻
да, я воспроизвел проблему
Vladislav 👻
вопрос такой, на какой ОС запускается плейбук?
Vladislav 👻
https://pastebin.com/raw/SrC3Pu0v
вот так попробуй: regex_replace('\\r', '')
Vladislav 👻
вообще шайтанство, ощущение, что там идет дополнительная подстановка символов на каком-то этапе
Vladislav 👻
не прошло
Быть не может, у меня сработало
Artem
Artem
"{\"download\": \"{{ lookup('env', 'INSTRUCTIONS_DOWNLOAD' | default(\"\")) | replace('\n', ',') | regex_replace('\\r', '') }}\", вот так сделал и не сработало
Vladislav 👻
Вывод в дебаге какой?
Vladislav 👻
Artem
{"ansible_facts": {"instructions": "{\"download\": \"http://*.torrent\r,http://
Vladislav 👻
скинь свои примеры (можно абстрактные значения) env
Artem
http://**001.torrent http://**002.torrent http://**0001.torrent
Artem
ну как-то так
Dr. L.S.Dee
Вы все еще?
Artem
ага не победимая ерунда какая-то
Dr. L.S.Dee
А я, вернувшись к тому своему древнему кейсу, понял, что я мудак (извинити). И что конкретно в том случае можно было тупа читать вывод построчно, методом.
Dr. L.S.Dee
ну а каждую строку потом брать либо как член массива - объекта, либо как отдельный объект.
Dr. L.S.Dee
Я, конечно, ни черта не понимаю в этом вашем красноглазии, но, м.б., и тут как-то подобным образом можно поступить? Чтоб ансиблу передавались уже чистенькие аргументы. пусть и куча одиночных.
Artem
вот думаю в файл закатать, а потом оттуда читнуть. если что-то изменится то проблема тимсити. потому что локально не репродьюсится.
Vladislav 👻
я без понятия, почему не работает у тебя...
Artem
:( а как ты параметр передаешь?
Artem
т.е. в само поле в тимсити и какая у тебя версия тимшити
Artem
у меня старенькая
Vladislav 👻
я не использую тим сити
Vladislav 👻
я просто прокинул мультилайн env в win кодировке
Stan
почему такое сообщение получаю? раньше корректно работало: [WARNING]: Could not match supplied host pattern, ignoring: centos ERROR! Specified hosts and/or --limit does not match any hosts
Alexandr
Что в содержимом hosts файла и в разделе hosts: playbook'a и в значении параметра -l при вызове плейбука?
Stan
[centos] 92.53.91.80 192.168.89.52
Stan
ansible-playbook vps.yml ---limit centos
Stefan
подскажите, пожалуйста хочу сделать так, чтоб в зависимости от того, какой ansible_user находится в хост группе, его имя подставлялось в плейбуке tasks: - name: Add ssh keys on servers lineinfile: path: "/home/{{ item.ansible_user }}/.ssh/authorized_keys" при запуске плейбука говорит: The error was: 'ansible.utils.unsafe_proxy.AnsibleUnsafeText object' has no attribute 'ansible_user'
Денис
просто ansible_user
Stefan
просто ansible_user
спасибо большое
Artem
вроде норм
Artem
Читаю из параметра скидываю в файл, потом читаю из файла. вроде ок.
Alexandr
Читаю из параметра скидываю в файл, потом читаю из файла. вроде ок.
Терморектальный криптоанализ. Сорри за оффтоп
Alexandr
т.е.?
Через задницу решение, но главное работает :)
Artem
скажи как нормально сделать?
Artem
модуль написать?
Artem
ну блин, не стал заморачиваться
User
К концу дня таки победили?
[IPT] Dmitry
привет! [WARNING]: Using any_errors_fatal with the free strategy is not supported, as tasks are executed independently on each host как вообще нормально сделать отлов ошибок с уведомлениями? делал вот так, но не работает с free strategy - block: - name: yum installing required packages yum: name: - zip - unzip - libselinux-python state: present become: true become_user: root any_errors_fatal: yes rescue: - include_role: name: telegram-error
Max
в блоке 1 таска.
Max
👀
Max
Написать коллбэк-плагин :-)
или обернуть это своим модулем.
Max
или вообще выбросить ансибл и написать "своё"