George
Vladislav 👻
В двойных классическое экранирование
George
Бывает и обратное - когда кавычки лишние. Я с этим ямлем уже устал бороться
George
Vitaliy
[WARNING]: could not parse environment value, skipping: [u'{{ proxy_env | default("") }}'
🙊
Vitaliy
ansible 2.8.4
George
George
Что у тебя в proxy_env?
George
Что-то типа PROXY=http://ololo:3428 ?
Vitaliy
George
Блин
George
Т.е. он определен и пустой массив
Vladislav 👻
George
Я бы не делал так
Vladislav 👻
вот так точно работает
Timur
Это словарь
Vitaliy
ну это по дефолту.
У кого нет доступа в инет и нужен прокси
proxy_env:
http_proxy: http://192.168.152.9:3128
https_proxy: http://192.168.152.9:3128
Timur
George
George
Сделай по-другому
Vitaliy
Я всегда использую проксю, но есть ребята и с прямым доступом в инет со своих серверов....
Vitaliy
Сделай по-другому
так?
environment: "{{ proxy_env | default({}) }}"
Timur
Vitaliy
ок
George
environment:
HTTP_PROXY: {{ http_proxy | default ("") }}
HTTPS_PROXY: {{ https_proxy | default("") }}
George
Или типа того
Timur
George
Т.е. задать названия самих переменных жёстко
Vitaliy
ага
George
А вот содержимое - подставлять по мере необходимости
Timur
environment - словарь, а не список!
George
Нет
Почему? Я типа псевдокод фиганул. Думаю, подогнать под синтаксис ансибла сможете
Timur
Timur
У тебя список вместо словаря
George
Давайте переделаем
George
https://t.me/pro_ansible/109960 так?
George
Фишка в том, что если эти переменные пустые, то все должно пойти в обход прокси, напрямую
George
Но это прям application specific
Timur
proxy_env:
http_proxy: '{{ http_proxy_var | default(omit) }}'
https_proxy: '{{ https_proxy_var | default(omit) }}'
Вот так должно работать по идее
George
Timur
Timur
George
Timur
А кавычки лучше одинарные ставить, если специально не требуется обратное
Timur
Я знаю только 3 случая, когда необходимы двойные кавычки
Timur
Vladislav 👻
Vitaliy
но нужно чтобы по умолчанию небыл задан адрес прокси сервера. Это доп опция, которая используется при необходимости. Поэтому я комментил.
Timur
[] - пустой список
{} - пустой словарь
Timur
Не путать!
Vitaliy
ааа )
Timur
Vitaliy
Ну я же не про
Timur
Просто запомните: в environment должен быть словарь. Пусть пустой, но словарь, а не список
Vitaliy
С вот таким дефолтом переменной все ок:
proxy_env: {}
# http_proxy: http://192.168.152.9:3128
# https_proxy: http://192.168.152.9:3128
George
Vitaliy
Нет доступа в инет, снимаешь коммент и пишешь свой ip
proxy_env:
http_proxy: http://192.168.152.9:3128
https_proxy: http://192.168.152.9:3128
George
Вот и разобрались
Итого было две проблемы, а не одна )
George
inqfen
граждане
George
inqfen
если у меня есть роль, у которой в зависимостях есть другие
inqfen
То при ее старте, она их запускает
inqfen
Это поведение можно как-то изменить?
inqfen
Чтобы вызывать не перед своей ролью, а в процессе выполнения инклюдить
Timur
Timur
inqfen
Да, неудобно, юзаю, чтобы не поддерживать requirements на всех проектах с 3мя ролями, а не с 1. Это одна требует 2 зависимые роли определенных версий
inqfen
Соответственно везде в requirements надо держать корректные версии
Timur
inqfen
А так обновил роль, в meta поменял версии зависимостей - и все
inqfen
А в чем проблема с requirements?
Ну в том, что кому-то другому надо обновить 1 запись в requirements и не читать readme, что туда надо еще прописать и каких оно должно быть версий для какой версии роли
Timur
inqfen
Ну я свою роль не один использую потому что
inqfen
Нас тут в компании больше одного человека)