Size: a a a

2021 February 04

N

Nikolay in Ansible
господа, подскажите, плиз:

Есть внешняя роль, которую подсасываю в процессе CI/CD, она прописана в meta/main.yaml моей роли, как dependency.
Этой роли нужно передать переменную-список из довольно сложных объектов (YAML), который нужно генерить в цикле.

Поскольку это не таск - loop заюзать здесь не могу. Пытаюсь использовать lookup('template'...) и пихать его в переменную, но в таком случае YAML внутри файла оказывается экранированным и не катит. Как правильно это сделать?
источник

N

Nikolay in Ansible
tl;dr: как правильно засунуть в переменную динамически генерируемый список объектов еще до вызова каких-то тасков?
источник

SP

Sergey Pechenkó in Ansible
Nikolay
tl;dr: как правильно засунуть в переменную динамически генерируемый список объектов еще до вызова каких-то тасков?
В статическом YaML в правой части можно вызвать любой шаблон Jinja, в том числе вот так:
target_dict: "{% set mydict = {'this': another_var, 'that': one_more_var } %}{{ mydict }}"
источник

N

Nikolay in Ansible
Sergey Pechenkó
В статическом YaML в правой части можно вызвать любой шаблон Jinja, в том числе вот так:
target_dict: "{% set mydict = {'this': another_var, 'that': one_more_var } %}{{ mydict }}"
ну я видел хаки потипу var: "{% for foo in bar %}{{ foo }},{% endfor %}"
источник

N

Nikolay in Ansible
но мне надо прям ямл немаленький впихнуть в каждый объект итерации
источник

SP

Sergey Pechenkó in Ansible
Nikolay
ну я видел хаки потипу var: "{% for foo in bar %}{{ foo }},{% endfor %}"
Ты привёл просто пример списка значений, а я привёл пример со сборкой словаря из других переменных. Разница вроде очевидна.
источник

N

Nikolay in Ansible
Sergey Pechenkó
Ты привёл просто пример списка значений, а я привёл пример со сборкой словаря из других переменных. Разница вроде очевидна.
ну, ты мне предлагаешь весь мой словарь описать внутри тега прямо?
источник

N

Nikolay in Ansible
извини, я пока не понимаю
источник

AD

Alex Domoradov in Ansible
а как правильно конвертнуть true, который bool в строку true в шаблоне?
источник

AD

Alex Domoradov in Ansible
По дефолту получаю True
источник

SP

Sergey Pechenkó in Ansible
Alex Domoradov
а как правильно конвертнуть true, который bool в строку true в шаблоне?
| lower
:-)
источник
2021 February 05

--

- - in Ansible
Elenhil
Там обычно есть что-то что позволяет при "условие - тру" добавить в соответствующую группу
А можно пример? Потому что я взял документацию к ec2-плагину - и чего-то не нахожу подходящего ничего.
источник

L

Lamobot in Ansible
- -
Народ, вопрос - можно как-то определить статическую группу из динамических хостов (без дописывания скрипта динамического инвентори)?
Суть в следующем. Есть статическая группа хостов вида host-[1:10].internal.network (они не всегда доступны, поэтому в общем случае мы используем динамическое инвентори). Возможно ли, чтобы как-то наследовалась эта группа из динамического инвентори - дабы недоступные фильтровались на этапе формирования списка из динамического инвентори?
https://docs.ansible.com/ansible/latest/collections/ansible/builtin/group_by_module.html
# Add all active hosts to a static group
- group_by:
   key: done
источник

--

- - in Ansible
Lamobot
https://docs.ansible.com/ansible/latest/collections/ansible/builtin/group_by_module.html
# Add all active hosts to a static group
- group_by:
   key: done
Но ведь это фактически делает прогон по статической группе, отсеивая отвалившиеся хосты, верно? А мне желательно, чтобы группировка шла до начала прогона, как раз используя динамический инвентори.
Ваш способ тоже интересен, впрочем, хм.
источник

L

Lamobot in Ansible
- -
Но ведь это фактически делает прогон по статической группе, отсеивая отвалившиеся хосты, верно? А мне желательно, чтобы группировка шла до начала прогона, как раз используя динамический инвентори.
Ваш способ тоже интересен, впрочем, хм.
Тогда выносите этот функционал в динамический инвентарь :)
источник

SM

Sergei Mikhaltsov in Ansible
здрасте, ансиболь такое скушает? -e "@some_extra_vars"
источник

SP

Sergey Pechenkó in Ansible
Sergei Mikhaltsov
здрасте, ансиболь такое скушает? -e "@some_extra_vars"
Ты хочешь файл с переменными скормить?
источник

SM

Sergei Mikhaltsov in Ansible
тип того, гроупварс и все такое не годится, нужен именно экстраварс
источник

SP

Sergey Pechenkó in Ansible
Sergei Mikhaltsov
тип того, гроупварс и все такое не годится, нужен именно экстраварс
источник

SM

Sergei Mikhaltsov in Ansible
благодарю
источник