Alexander
Так, давай ещё раз.
elk.elasticsearch.c1: es1, es2, es3
elk.kibana.c1: kb1
hosts: elasticsearch - показывает все 4.
*!№!*№!"*№*!!!!!
Откуда kibana?
Оно берёт и клеит elk.elasticsearch.c1 с elk.kibana.c1 ???
Alexander
В результате получается
elk.elasticsearch.c1: es1, es2, es3, kb1
elk.kibana.c1: es1, es2, es3, kb1
inqfen
inqfen
как бы вполне себе специально функционал из коробки
inqfen
https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html рекомендую в общем сходить сюда
Alexander
Ну это не эмуляция словаря, а чёрт знает что. "Мы просто соберём это в кучу"
inqfen
и вопросы отпадут
inqfen
Alexander
Я думал, что это эмуляция словаря. Ведь это было бы логично.
inqfen
а вот после описание включается ансибл и группирует их как ты описал
inqfen
ты можешь одну группу еще в 5 засунуть
inqfen
а те 5 еще в 3
Alexander
Область видимости - вот что меня здесь смущает, а не возможность ссылаться на группы.
inqfen
группа - это понятие инвентаря, а не ссылочное нечто
inqfen
область видимости как я еще раз написал - снизу вверх
inqfen
ну и ссылку скинул, там все подробно по группам есть
inqfen
не надо сравнивать напрямую с питонами го и подобным, ансибл не язык погромирования таки
inqfen
(хотя формально можно под это и подогнать)
Alexander
Alexander
Просто я не ожидал такого.
Alexander
Думал, как раз с питоном и можно сравнивать, однако вот жеж как...
Отделение Bereke Bank
Я нифига не понял, но я рад что у меня на каждый кластер куба свой инвентори 😂
Alexander
Так.
Сделал так:
elk:
children:
cluster1:
children:
elasticsearch:
c1es1
c1es2
c1es3
kibana:
c1kb1
children:
cluster2:
children:
elasticsearch:
c2es1
c2es2
c2es3
kibana:
c2kb1
Alexander
Что получу на hosts: elasticsearch ?
Отделение Bereke Bank
Сделай ansible —list-hosts elasticsearch
Alexander
Ну я уже сделал, вопрос - что я ДОЛЖЕН получить?
Alexander
elasticsearch же должны слиться, так?
Отделение Bereke Bank
Вот мне интересно теперь))
Alexander
@inqfen
Alexander
Что ты думаешь?
inqfen
емнип, ты в результате только одну группу получишь, ты же ее переопределил
Alexander
inqfen
так сказать cluster1.elasticsearch и ckuster2.elasticsearch - это один и тот же объект
Alexander
Воу-воу!
inqfen
потому что это groups.elsaticsearch
Отделение Bereke Bank
Alexander
В кои-то веки согласен со стикером =)
inqfen
В общем, ты сделал группу elasticsearch
inqfen
И это не дочерняя группа cluster_n
inqfen
Это просто отдельная группа, которая входит в другие
Отделение Bereke Bank
Отделение Bereke Bank
Отделение Bereke Bank
Посмотри внимательнее
inqfen
Alexander
Ща гляну, я вручную переписывал
inqfen
Остальные в него вкладываются
Alexander
Может там то и нет
Alexander
В общем так - там не было лишнего children'а. Он был около второй кибаны. В результате, структуру всю отбросило, судя по всему.
Alexander
Фух, теперь выдаёт.
Alexander
Спасибо.
inqfen
Children 1 раз надо писать
inqfen
Остальные в него вкладываются
Alexander
Да я говорю же тебе - не было его там - это я когда сюда писал - неверно переписал.
inqfen
children:
group1:
group2:
Alexander
Alexander
Но внутри второй группы там было лишний раз написано children
inqfen
Я с телефона, так что я с лагом пишу
inqfen
А отступы конечно вообще в говно превращаются
Alexander
Я ещё думал - первым способом сделать или вторым. Сделал бы вторым - так и не узнал, какие чудеса в ansible происходят...
inqfen
не, чудеса это когда оно внезапно получается, а там все в доках описано
inqfen
скидывал же
Alexander
Я это читал ещё до того. Но этого не увидел.
Не вчитывался, конечно, но не ожидал (просто НЕ ОЖИДАЛ), что словарь выкинут и сделают вот так.
inqfen
это не совсем словарь, это структура ямла
Alexander
Если переменные такой структурой назначать - будет словарь. Вот в чём дело.
Alexander
Я не спорю, в общем-то.
Alexander
А как вывести переменную, которая для хоста имеет приоритет в данный момент? То есть ту, которая будет использоваться.
inqfen
https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html а это тут, вообще все можно через hostvars получить
George
Блин. Читаю. И ужасаюсь. Будто группы в ансибле сделаны через одно место. @amarao чего думаешь ?
inqfen
inqfen
пилинг дальше и сложнее - это в salt
Alexander
Там доки отвратные
George
У ансибла местами не лучше
George
Зато как будто у солта код лучше 😂
inqfen
оно зато работает очень быстро
George