Vladislav 👻
а есть какое-нибудь адекватное решение вот этой проблемы?
Vladislav 👻
а то раздражает постоянно варнинги
Александр
ansible 2.7.5
Timur
ansible 2.7.5
Комиты из какой ветки не подтягиваются?
Timur
dev
А расширенный дебаг что говорит?
Timur
При запуске на разных машинах
Vladislav 👻
ага, уже увидел, почему-то плохо прочитал 🙈
Vladislav 👻
но если что, приветствую лайки на этот issue
Timur
А так проблема пустяковая
Vladislav 👻
и так на каждый степ/таск
Timur
и так на каждый степ/таск
Ну, я omit вообще не использую, например
Vladislav 👻
а как же переопределение
Timur
Это довольно странный параметр, который чреват непредсказуемым поведением
Vladislav 👻
я хз что там предсказывать, если он говорит, что такого варибалс нет
Vladislav 👻
undefined
Timur
В дефолт логично какое-то значение ставить, чтобы переменная была defined
Timur
Иначе какой смысл ее задавать
Vladislav 👻
не всегда, иногда логика именно на объявление бывает
Vladislav 👻
и причем зависит даже не от того, как ты роль напишешь, а именно в системе так работать может
Timur
не всегда, иногда логика именно на объявление бывает
Да, бывает. Но это можно хендлить с помощью conditionals
Vladislav 👻
ну и да, тот же прокси, хороший показатель, если прокси нет, то переменная не должна быть объявлена в системе
Timur
Типа when: myvar is defined
Vladislav 👻
нельзя, таск должен быть выполнен независимо от объявления переменной
Timur
Логика с undefined плохо предсказуема
Vladislav 👻
Можно просто пустое значение задать
для системных variables плохой тон
Vladislav 👻
именно поэтому этот issue и создан
Denis 災 nobody
Сентябрьский митап DevOps Moscow, "Ansible - это вам не bash!"
там кстати на 30 минуте - про проверку сервиса - там же явно спрашивали про validate, тот самый nginx -t
Timur
там кстати на 30 минуте - про проверку сервиса - там же явно спрашивали про validate, тот самый nginx -t
Там скорее про другое, про валидацию инфраструктуры внешнюю. Что-то типа testinfra
Timur
Мы к молекуле сейчас прикручиваем testinfra тесты, которые проверяют состояние независимо от роли
Sergey
Я с телефона. Про validate - не-а. Nginx попытается забиндить порты при старте вроде, обломится и упадёт.
Denis 災 nobody
testinfra в validate? )
Aleksey
Всем привет! Чем можно заменить validate из template ? Требуется проверять конфиг nginx без привязки к генерируемому куску конфига.
Timur
Да
В сценарии молекулы, в смысле, а не в самой роли конечно
Denis 災 nobody
Я с телефона. Про validate - не-а. Nginx попытается забиндить порты при старте вроде, обломится и упадёт.
тут кстати когда как, я при уже работающем нгинхе часто делаю -t и всё корректно. Впрочем, встречал что тест падал с ошибкой бинда, но в этом случае reload тоже падал, нужно было делать именно рестарт. Бага?
Denis 災 nobody
очень редко, но не единично
Sergey
Хз. Это скорее в Nginx вопросы, чем в Ансибл.
Denis 災 nobody
это да
Aleksey
В каком смысле без привязки?
Сейчас: template: src=toast.j2 dest=test.conf owner=nginx group=nginx validate="nginx -t -c %s", где %s - путь до сгенерированного куска конфига. Хочется: template: src=toast.j2 dest=test.conf owner=nginx group=nginx validate="nginx -t" Но такой синтаксис невозможен, %s обязателен для validate
Sergey
Хмык. nginx -t #%s?
Aleksey
Хмык. nginx -t #%s?
Не, # экранируется
Aleksey
в итоге строка nginx -t \# /path/to/nginx.conf
[IPT] Dmitry
Привет всем! Ребят, а как настроить ansible telegram module с proxy?
[IPT] Dmitry
думал, $HTTP_PROXY будет использовать, но нет...
Denis 災 nobody
или скорее так, echo %s; nginx -t
Denis 災 nobody
там же код возврата нужен..
Aleksey
или скорее так, echo %s; nginx -t
Спецсимволы экранируются, не сработает
Denis 災 nobody
в одиночных кавычках тоже?
Denis 災 nobody
вообще, повод открыть issue
Denis 災 nobody
ну или не парить мозг.
Denis 災 nobody
nginx -t -c %s
Denis 災 nobody
но в общем случае это действительно бага.
Aleksey
nginx -t -c %s
Не, не получится. Генерится один из vhost'ов и мне не нужно его отдельно проверять, но нужно проверить весь /etc/nginx/nginx.conf целиком, в сборе
Denis 災 nobody
пропатчить ансбил еще можно
Aleksey
пропатчить ансбил еще можно
Не, просто вынесу проверку из template. Всем спасибо! :)
Denis 災 nobody
можно сделать башсибл... передавать туда типа test-nginx.sh %s а в нем nginx -t
Aleksey
можно сделать башсибл... передавать туда типа test-nginx.sh %s а в нем nginx -t
Вот этого как раз и не хочется) Но всё равно спасибо)
Lev
зачем вообще телеграм модуль в ансибле?)
Lev
понятно, для для нотификации, но не могу придумать кейс нормальным, чтобы это именно там было описано, а не в какой-нибудь ci системе
Artem
зачем вообще телеграм модуль в ансибле?)
Нотификации нотифицировать
Tadeusz
API есть, зачем модули
Artem
Ну сейчас бы из тасков деплоя телеграмное апи телебонькать, да
Lev
судя по коду, оно должно юзать прокси и НЕ должно только в случае, если определена переменная окружения no_proxy
Lev
просто энвы то он будет читать в окружении, где ранится
[IPT] Dmitry
- hosts: all vars: proxy_env: http_proxy: http://ip:port https_proxy: http://ip:port tasks: - name: send a message to chat in playbook telegram: token: 'token' chat_id: chat msg: Ansible task finished msg: 'Failed to connect to api.telegram.org at port 443: [Errno 101] Network is unreachable' ЧЯДНТ?
Павел П.
фаервол открыт на сервере для этого порта?
[IPT] Dmitry
да, тупые ошибки я уже проверил