Aleksey
странно. :)
Timur
странно. :)
В чем именно проблема?
Timur
Вы не знаете, как вызвать нужные факты из словаря hostvars?
Aleksey
я знаю как их достать я не знаю хостов там. и делать {{ hostvars[groups[group_name][0]]}} считаю стремным
Timur
Не стремный
Timur
Нет препятствий патриотам
Aleksey
ну вот сюда я пришёл за другими идеями. не стрёмными
Timur
Напиши свой нестремный плагин
Deyvis
Коллеги, день добрый. Есть ли возможность ансиблом заменить конкретное слово в предложении не затрагивая остальные слова\строки и тд тп?
Deyvis
Смотрю в сторону lineinfile, но, как я понимаю, им менять только всю строку
Alex
можно и слово по регулярке
Deyvis
я заменил слово, да. но он затер все остальное предложение
Alex
как ты это сделал мы должны угадать? :)
Deyvis
решил вопрос, спасибо
Grek 🇺🇦
Как решил, мы тоже никогда не узнаем? Через sed небось?
Grek 🇺🇦
респект!
Отделение Bereke Bank
Обновлять AWX до 10.0.0 не рекомендую Все сломалось нахер
Aleksey
я знаю как их достать я не знаю хостов там. и делать {{ hostvars[groups[group_name][0]]}} считаю стремным
перебираешь в цикле. по совпадению заносишь в переменные, потом используешь
Gleb
Aleksey
те предлагаешь темалейт в 50 строк и потом сет факт?
внутри индекс. его в цикле перебираешь. да там строк 10 все-то кода и выходит. но это конечно не ansible-way
PsyDebug
Подскажите плиз, как я могу в шаблоне сделать отступы для многострочной записи? Делаю внутри шаблона как-то так params: | {% extends "data.j2" %} Хочу чтоб у каждой строки был отступ при подстановке из data
Timur
https://jinja.palletsprojects.com/en/2.11.x/templates/#indent
PsyDebug
Фильтр Indent
Пррбовал уже
Timur
Пррбовал уже
Тогда давайте сразу более полную информацию
PsyDebug
Там как-то совсем хитро надо видимо с ним. Ибо мультилайн
kbks
Приветы. А я могу в таске указать задержку перед выполнением на следующем хосте из группы?
Timur
Там как-то совсем хитро надо видимо с ним. Ибо мультилайн
indent как раз и добавляет отступы к мультилайну
kbks
тьху, совсем мозг отключается. не в таске, в плейбуке. Есть такая вот часть: - name: Deploy container nodes become: yes hosts: "{{env}}-container" serial: 1 vars_files: - "{{inventory_dir}}/site_params.yaml" tasks: …. Прогнало на одном зхосте, и мне нужно подождать какое-то время прежде чем запускать выполнение на следующем хосте из группы {{env}}-container
Timur
Добавьте в конце плея таск с pause
kbks
видел модуль, но почему-то не пришло в голову добавить в конец плея
kbks
спасибо
Tekitai
Такой вопрос, а как читаемо для ансибла передать данные инвентаря плагина aws_ec2, в хост файл?
Timur
Такой вопрос, а как читаемо для ансибла передать данные инвентаря плагина aws_ec2, в хост файл?
Как-то так: - name: Dump inventory copy: content: '{{ inventory_config | to_json | from_json | to_yaml }}' dest: '{{ inventory_path }}'
PsyDebug
indent как раз и добавляет отступы к мультилайну
У меня есть устойчивое ощущение, что indent не отрабатывает для extends или я не правильно его использую {% extends "data.j2" | indent(4,False,False) %} - на выходе без отступов
Timur
Timur
Вы точно знаете, как применять шаблоны?
Timur
Может, стоит почитать немного?
PsyDebug
Да. Вот эта конструкция отрабатывает ведь
PsyDebug
и на выходе то что хочется. за исключением лишь отступов, о которых я изначально и спрашивал
Timur
PsyDebug
Вы точно знаете, как применять шаблоны?
если что, вот это вот всё происходит тоже внутри шаблона
PsyDebug
это не в таске
PsyDebug
Так в чём я не правильно применяю их?
Timur
Вы один шаблон пытаетесь вставить в другой?
PsyDebug
Так точно
Timur
Так точно
Фильтр indent должен быть внутри импортируемого шаблона тогда
PsyDebug
Пока смутно представляю как это будет выглядеть, но благодарю
PsyDebug
там обычный многострок в произвольном формате просто
Антон
добрый день всем скажите пожалуйста, а можно в ансибле как-то получить список дочерних групп для группы?
Timur
https://stackoverflow.com/questions/39655419/how-can-i-get-a-list-of-child-groups-in-ansible
Ну да, только через перебор хостов и такую магию
Timur
Вообще лучше так не делать
Timur
Иерархия групп не для этого
Ждун
интересно кейс услышать
Антон
Ну да, только через перебор хостов и такую магию
в моем случае это не сработало - выдало больше групп =)
Timur
в моем случае это не сработало - выдало больше групп =)
Зачем вам список дочерних групп понадобился?
Timur
У групп в ансибле нет свойства иерархии. Они все равноправны
Антон
а, все
Антон
я сделаю это через переменные в группе
Timur
Что вы сделать-то пытаетесь?
Антон
спасибо всем, придумал как сделать это более класически
Антон
нужно сопоставить на какой кластер nginx-сов будет прописан домен для приземления
PsyDebug
Вобщем если что, мой вопрос решился заменой экстенда на инклуд внутри шаблона {% set mydata %} {% include './templates/' + 'data.j2' %} {% endset %} {{ mydata | indent(8,False) }}
PsyDebug
это дало возможность заюзать indent
Sergey
😊