Anonymous
в упор не понимаю, простой пример example.json.j2
{
\"book1_incremental": {
"{{stand_type}}": {
"port": "14005"
}
}
}
Anonymous
на выходе
{
\"book1_incremental": {
"dev": {
"port": "14005"
}
}
}
Sergey
Anonymous
так внесем яности, есть шаблон конфига, ну понятно там перменные, на выходе нужно json получить
Anonymous
если правильно понял что ыт имеешь виду сейас сделаю
Anonymous
но вроде делал эффект тоже так себе
Sergey
Anonymous
ну для прома у меня есть и ямл это добро
George
Anonymous
шаблон
{
book1_incremental: {
{{stand_type}}: {
port:14005
}
}
}
таск
- name: copy target debug
become: no
template:
src: debug.json.j2
dest: "{{template_json | to_json}}"
with_items:
- debug.json.j2
вывод в файле
{
book1_incremental: {
dev: {
port:14005
}
}
}
Sergey
Anonymous
так а как нить по другому перефразировать, где я должен был вывод тогда сделать to_json
Sergey
Весь шаблон должен был выглядеть как:
{{ myvar | to_json }}
Sergey
А переменную с конфигом хоть в групварсах описывай.
George
Anonymous
так это же не сделает валидным файл на выходе
Anonymous
но попробую
George
Валидным в каком ключе ?
Anonymous
в том что валидацию json пройдет
Anonymous
где все должно быть в кавычках
Vladimir
Привет)
Предположим, я хочу сделать некий инструмент наливки машины первый раз (bootstrap) на ансибле, имея при этом несколько сценариев того, что именно я хочу наливать (например в зависимости от окружения)
Все это я хочу отдать автоматике, которая будет принимать 2 параметра, host и env
Разные переменные, для окружений, я положу в group vars.
А теперь вопрос. Могу ли я извне, передать группу?
Или единственным вариантом будет первой таской запускать некую генерацию нужного инвентори (засунуть переданный хост в переданную группу)
и второй таской запустить собственно плейбук на это добро.
Или есть способ красивее?
Anonymous
а должно было
{
"book1_incremental": {
"dev": {
"port":"14005"
}
}
}
Sergey
Anonymous
там конфиг на несколько сот строк, я правда не понимаю что значит собрать в памяти
Anonymous
там обычный шаблон с кучей переменных которые должны ставиться и куче обычных парметров которые как конфиги держать смысла нет, как их обернуть я реально не понимаю
George
еще раз
George
собрать конфиг в памяти это означает сделать что-то типа
George
https://github.com/cloudalchemy/ansible-prometheus/blob/master/defaults/main.yml#L39
George
оно прекрасно выливается в конфиг файл потом, без этих непонятных приседаний с темплейтингами
Anonymous
ну это не выглядит оптимальным определять под несколько сот перменных
Anonymous
но да согласен - выход, если прям приспичит
George
как бы ты так и не написал, что ты хочешь сделать
George
мы поняли, что у тебя болит ))))
Anonymous
да простая задача получить json в идеале в читаемом. виде с 2 кавычками
George
исходные данные какие ?
Anonymous
ну тепреь делаю как прдложили черепз
file_config_21:
book1_incremental:
"{{ stand_type }}":
- port: 12345
Anonymous
в шаблоне {{file_config_21| to_nice_json}}
Anonymous
все почти хорошо, крое того что он перменную стенд тип не подставляет
Anonymous
{
"book1_incremental": {
"{{ stand_type }}": [
{
"port": 12345
}
]
}
} вывод
Sergey
Anonymous
так ) делитесь секретом
Sergey
Боюсь, тут нужна сборка из кусочков через Jinja :-(
Sergey
Я чот сразу не сообразил, каюсь.
Anonymous
короче пусть переписывают конфиг в yaml там надеюсь таких проблем меньше)
Sergey
Ключи шаблонизатором не обрабатываются.
Sergey
Та же проблема будет, кстати.
Отделение Bereke Bank
Anonymous
эх, печаль
Отделение Bereke Bank
опиши свои кусочки отдельными переменными, склей их через combine и потом to_nice_json
Anonymous
да видел такой изврат где то когда гуглил
Anonymous
отдам кому нить из коллег сильных духом, чтобы развлекались
George
i4l
есть два [], в первом - частичные совпадения позиций во втором (куски стрингов), как примерно выполнить в плейбуке intersect, что бы проверить, что второй содержит "признаки" первого?
Влад 🇺🇦
вот я бы хотел что бы две вот эти задачи ранились паралельно
i4l
block?
i4l
Влад 🇺🇦
да
Влад 🇺🇦
они как бы на разных хостах раняться и не зависят друг от друга
i4l
то есть у нас как бы две мастер-тачки с ансиблом и надо одновременно просто запустить?
Влад 🇺🇦
да
i4l
чёто кроме at ничего в голову не призодит
i4l
а оно tower или нет?
i4l
или просто ансиблы
Влад 🇺🇦
нет
i4l
в товерах наверное есть чёто
Anonymous
спасибо, сохраню
i4l
i4l
по левой стороне "съезжает" ?
Lamobot
i4l
грубо: у меня - "one", в проверяемом листе - "here is one string"
Lamobot
i4l
а из "не очень" что есть? )
i4l
можно этот форшмак регекспами сравнивать кодить в жинжу лол