Anonymous
через hostvars надо обращаться
{{ hostvars[app].application_server_ip }} теперь 'app' is undefined"
Sergey
{{ hostvars[app].application_server_ip }} теперь 'app' is undefined"
Потому что это у тебя переменная, а нужно - строка.
Sergey
Но вообще такое через группы делается.
Anonymous
Потому что это у тебя переменная, а нужно - строка.
app это название группы хостов в инвентори
Sergey
Откуда тогда hostvars?
Anonymous
{% if ansible_facts['hostname'] == 'lb1' %} upstream application-server { server {{ hostvars[app].application_server_ip }}:5000; } ...
Sergey
Это не ответ, это кусок конфига.
Sergey
Ключи словаря hostvars - имена хостов (очевидно же, да?)
Sergey
Но никак не имена групп.
Anonymous
так, а собственно у меня имя хоста и его группа совпадают - app
Sergey
Ну тогда - https://t.me/pro_ansible/138869
Лёсик
см ссылки, что я кидал
спасибо за ссылку, вот что мне подходит: with_sequence: start=100 end=999 stride=1 всем спасибо.
Anonymous
ну вот так server {{ hostvars[app].ansible_all_ipv4_addresses | ipaddr('10.114.0.0/16') | first }} все равно он не видит app
Sergey
hostvars['app'] <—— вот здесь ключ словаря- строка.
Sergey
hostvars[app] <———- здесь - переменная
Anonymous
аж самому стало стыдно) понял ошибку) исправлюсь. спасибо
N
/help@ansible_ru_bot
Andrey
в документации написано что update_cache в модуле yum лишь только заставляет проверить yum обновлён ли кешь (Force yum to check if cache is out of date). каков критерий этого "out of date" и нельзя ли форснуть в любом случае обновление кеша?
Andrey
да. поэтому спрашиваю
Denis
set_fact: check_list: [] set_fact: check_list: "{{check_list + ['{{ item }}-{% if (size|length) > 0 %}True{%else%}False{%endif%}']}}" with_item: "{{list}}" на выходи получаю check_list:[ '{{ item }}-{% if (size|length) > 0 %}True{%else%}False{%endif%}', '{{ item }}-{% if (size|length) > 0 %}True{%else%}False{%endif%}', '{{ item }}-{% if (size|length) > 0 %}True{%else%}False{%endif%}', '{{ item }}-{% if (size|length) > 0 %}True{%else%}False{%endif%}', ] Ожидаемый результат Test1-True Test2-True Test3-False что не так я делаю помоги те разобратся
Sergey
Tadeusz
ггг
Tadeusz
"осталось прихуярить монитор..."
Sergey
Я дал тебе всю необходимую информацию. Извини.
Denis
check_list: "{{check_list }} + ['{{ item }}-{% if (size|length) > 0 %}True{%else%}False{%endif%}']"
Denis
rfr
Denis
@tnt4brain как то так должно быть
Denis
?
Salem
простите, но это пиздец какой-то ) как это читать потом?
Denis
@tnt4brain или {%%} тоже надо завернуть? {{ {% %} }}?
Sergey
@tnt4brain как то так должно быть
Перечитай, пожалуйста, выделенное жирным предложение в моём ответе - https://t.me/pro_ansible/138897.
Sergey
простите, но это пиздец какой-то ) как это читать потом?
Потерпи, скоро закончим. Фармим "сын ошибок трудных", потому что "парадоксов друг" не алё.
Denis
Перечитай, пожалуйста, выделенное жирным предложение в моём ответе - https://t.me/pro_ansible/138897.
Я прочитал внутри двойных фигурных скобок не должно быть двойных фигурных скобок.
inqfen
А ты сложный
inqfen
Как у тебя конструкции шаблонов отработают, если они не в шаблоне?
Sergey
Я прочитал внутри двойных фигурных скобок не должно быть двойных фигурных скобок.
Отлично. Продолжим с терминологией. {{ }} - это вызов шаблонизатора. {% %} - тоже вызов шаблонизатора. Перечитай, пожалуйста, часть поста, которая выделена курсивом: https://t.me/pro_ansible/138897
Denis
@tnt4brain шаблонизатор внутри другого вот тут не хрена не понятно
Sergey
Чего ж тут непонятного? Внутри одного вызова не может быть другого. Ты изначально именно что пытался впихнуть невпихуемое.
Denis
@tnt4brain а вот это хренова
Denis
@tnt4brain есть другой способ решить это проблему?
Sergey
Есть. Почитать книжку/доку и разобраться. Объясняю. Ты просто пытаешься чего-то сделать сам вместо систематического чтения доки или книжки. Так?
inqfen
А в чтении?
Anton
Ну а как по другому
inqfen
Кстати у джинджи неплохая дока сама по себе
Sergey
Я новичек в ансибле если ты про это
Я не про Ансибл написал, а про доку и/или книжку. Ты в итоге что-либо читал или нет?
Denis
док ансибл читаю когда что то нужное
Denis
там и вычитал как добавлять в лист string
Sergey
Уффф.... Мне надоело тратить время. Может, кто-то другой поможет.
Sergey
Я сдаюсь.
Denis 災 nobody
там и вычитал как добавлять в лист string
начни с простых задач. И читай доки не выборочно, а потрать день на доку целиком.
Denis 災 nobody
есть видео обучение, есть несколько реп где запускаются докеры и там тоже интерактивное обучение
inqfen
Я сдаюсь.
Ты был сильным
Denis
Почему просто нельзя объяснить почему первый элемент отрабатывает а остальные нет?
Sergey
Потому что ты не первый раз спрашиваешь какую-то дичь, которую больше никто не спрашивал примерно с 2016 (раньше меня в чате не было).
Sergey
И тебе даже спрашивать не пришлось бы, если бы ты просто взял и прочитал книжку, или доку полностью.
Mentat
Почему просто нельзя объяснить почему первый элемент отрабатывает а остальные нет?
Потому что шаблонизатор - не язык программирования. Работает в один проход, те есть список замены значений и есть шаблон с позициями этих значений. Шаблонизатор - в отличии от ЯП - пройдет один раз и один раз заменит значения. Все, больше никакого экшона, повторных проходов с заменами и прочего ветвления - не будет. Так в ансибле задуманно нарочно, чтобы люди не программировали на шаблонах и держали сущности простыми. Надо вычислять - напиши модуль, дергай внешний скрипт и все такое.
Denis
Спасибо у меня все получилось.
Radik
звучит как тост
Iwan
Всем привет, подскажите пожалуйста, огребу ли я ошибок если буду запускать плейбук с экстра варс таким образом? --extra-vars registry.branch=${BRANCH}
Oleg Y.
можно *попробовать* запустить
Oleg Y.
или не огрести - принципиальный момент?
Lamobot
переменная - да
https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#creating-valid-variable-names
Lamobot
Примеры невалидных посмотрите
Iwan
понял, спасибо!
Alex
а сталкивался кто с автоматизацией rabbitmq. Есть ли возможность получить значение определенного параметра не через rabbitmqctl, чтобы избавиться от башсибла
Sergey
Ну и какого параметра, опять же.
inqfen
определенного
Sergey
определенного
😆 точно, как же я не догадался.
inqfen
вообще у реббита api есть