Boris 🦍
Для чего
ну я формирую конфиг, который так же, будет шаблоном и у него будут свои конструкции, которым ковычки не нужны
George
вот и я думал, что должны
Так ты дай целевое месте, где они появляются
George
Темплейт? Переменная? Куда у тебя это улетает в конце-концов ?
Boris 🦍
Сделай нормально, зачем ты вот это вот всё ">+" используешь?
ну мне нужно структуру сохранить, т.е поряждок из нескольких строк
Boris 🦍
Темплейт? Переменная? Куда у тебя это улетает в конце-концов ?
на сервер, и там это должен быть конфиг для alertmanager
Sergey
ну мне нужно структуру сохранить, т.е поряждок из нескольких строк
Для этого берётся lookup('template', template_name) - и не нужно заниматься мазохихмом. Хотя если очень хочешь - то я не могу тебе запретить.
George
Срочно реквестирую стикер со смеющейся фигурой косой на черном фоне
George
Не важно
Sergey
@ProdElbars В общем, тебе не нужно записывать шаблон в виде значения переменной, потому что можно его записать в виде шаблона.
Sergey
ь как это реализуется, спасибо
https://docs.ansible.com/ansible/latest/plugins/lookup/template.html
Sergey
Дока жи!
Отделение Bereke Bank
Подскажите, кто сталкивался. Чето никак не дойдет до меня. Возможно ли через postgresql_user сделать аналог "ALTER USER username SET default_transaction_read_only = on;"?
Boris 🦍
https://docs.ansible.com/ansible/latest/plugins/lookup/template.html
почитал, только не совсем понял. чем он отличается от встроенного j2, модуля template
Nikolay
Если я разворачиваю через ansible ec2 инстанс, и ставлю каунт 5, в итоге на aws развернется 5 инстансов, а какие приватные ip им будут присвоены? По порядку в соответствии с подсетью?
George
в смысле рандомные - в подсети?
George
или последовательные?
Nikolay
последовательные в одной подсети
George
ок
Alexander
Есть такой static inventory: elk: children: elasticsearch: children: cluster1: hosts: c1h1 c1h2 ... cluster2: hosts: c2h1 c2h2 ... kibana: children: cluster1: ... cluster2: ...
Alexander
Запускаю плейбук с - hosts: elasticsearch
Alexander
Он проходится и по кибане тоже... Причём! Переменные берутся для всего из кибаны...
Alexander
Что не так?
Sergey
почитал, только не совсем понял. чем он отличается от встроенного j2, модуля template
«Элементарно, Ватсон!» (С) Результаты работы модуля template кидаются в файл на целевом хосте, а lookup с плагином template складывается в файл.
Boris 🦍
Sergey
Эм, на практике б заметить разницу?. Думаю , что попробую завтра). Но спасибо за наводку).
Я что-то не пойму - ты троллишь или правда не видишь разницы? Модуль template складывает результат обработки шаблона в _файл_ на удалённом хосте. Lookup plugin даёт тебе результат обработки в переменной на контроллере.
Boris 🦍
Я что-то не пойму - ты троллишь или правда не видишь разницы? Модуль template складывает результат обработки шаблона в _файл_ на удалённом хосте. Lookup plugin даёт тебе результат обработки в переменной на контроллере.
Не троллю, просто пока не понимаю, как на поактике заюзать это, не пробовал, в каком кейсе это может быть полезно? Если структурированно нужно сохранить результат обработки в переменную, например?
Sergey
Не троллю, просто пока не понимаю, как на поактике заюзать это, не пробовал, в каком кейсе это может быть полезно? Если структурированно нужно сохранить результат обработки в переменную, например?
Вот прямо в твоём кейсе полезно, когда нужен просто текстовый файл, и ты не хочешь возиться с запихиванием многострочного форматирования в YaML.
Alexander
Ну так я hosts: elasticsearch запускаю, а не hosts: cluster1, cluster2
Отделение Bereke Bank
у тебя один инвентори файл. в нем дважды встречается cluster1 и cluster2. последнее значение этих "параметров" будет окончательным. А они у тебя kibana-вские
inqfen
не хостам навешиваются переменные в зависимости от группы
inqfen
а на хост по очереди навешиваются переменные с групп
Отделение Bereke Bank
там не сверху вниз, а наоборот
тут речь не про переменные)
Отделение Bereke Bank
а ну хотя имя группы наверное своего рода переменная 🤔
Alexander
там не сверху вниз, а наоборот
Это... Я даже не знаю что сказать...
Отделение Bereke Bank
В общем у тебя не правильный инвентори файл
Alexander
Ибо нет двух отдельных элементов elk['elasticsearch'] и elk['kibana']
Alexander
В общем у тебя не правильный инвентори файл
А как его сделать правильно, если хочется иерархический?
inqfen
Это... Я даже не знаю что сказать...
не сверху вниз -имеется в виду не группа -> хост, а хост-> группы
inqfen
А как его сделать правильно, если хочется иерархический?
ты можешь сделать разные хосты с одинаковым адресом
Отделение Bereke Bank
дать children-группам кибаны другие имена
inqfen
физически машина будет одна, но с точки зрения инвентори - это разные хосты
Отделение Bereke Bank
А вообще я бы сделал каждому кластеру свой инвентори
Alexander
дать children-группам кибаны другие имена
Это не очень красиво. Это понятно, что так можно
inqfen
Зачем?
У тебя задача какая? Чтобы один хост физический в разные группы попадал, а не во все сразу?
Alexander
Группа одна - кластер один.
Alexander
Конечно, можно делать cluster1_elasticsearch и cluster1_kibana, но это как-то криво
inqfen
inqfen
Ты сделал группы, которые принадлежат обоим вышестоящим
inqfen
То, что я и написал - снизу вверх
Alexander
elk.elasticsearch.cluster1 - тут хосты первого кластера ES elk.kibana.cluster1 - тут кибана для него. Ну и ещё отдельный кластер. То есть это не структура данных, а хер знает что?
inqfen
Группа - > вышестоящие группы в данном случае
Alexander
Как вообще кто-то мог додуматься до такого идиотизма? )
inqfen
Вообще-то все логично
inqfen
У тебя одна группа может и в нескольких вышестоящих быть
Alexander
Ну вот если у тебя в хеш-таблице будет a[b][c] равно a[d][c] - это будет логично? =)
Alexander
Причём значения не важны
Отделение Bereke Bank
Как вообще кто-то мог додуматься до такого идиотизма? )
так не пойдет? elasticsearch: hosts: es-01-c1 es-02-c1 es-01-c2 es-02-c2 kibana: hosts: k-01-c1 k-02-c1 k-01-c2 k-02-c2 cluster1: hosts: es-01-c1 es-02-c1 k-01-c1 k-02-c1 cluster2: hosts: es-01-c2 es-02-c2 k-01-c2 k-02-c2 ```
inqfen
elk: children: elasticsearch: children: cluster1: hosts: c1h1 c1h2 might_net: children: cluster1: slow_net: children: cluster2:
Отделение Bereke Bank
да блин. Ну ты понял)
Alexander
так не пойдет? elasticsearch: hosts: es-01-c1 es-02-c1 es-01-c2 es-02-c2 kibana: hosts: k-01-c1 k-02-c1 k-01-c2 k-02-c2 cluster1: hosts: es-01-c1 es-02-c1 k-01-c1 k-02-c1 cluster2: hosts: es-01-c2 es-02-c2 k-01-c2 k-02-c2 ```
Ну я просто упорядочить хотел, а тут дублирование. Я просто не могу понять, какую структуру они эмулируют здесь.
inqfen
вот пример собственно, в первом кластере норм сетевухи, во втором так себе и нужны разные настройки
inqfen
группы в те группы, куда засунул
inqfen
и в конце все оказывается в all
Отделение Bereke Bank
we need to go deeper