Size: a a a

2021 February 02

AS

Alexandr Savichev in Ansible
Elenhil
У вас выходит for bool in dict
if же
источник

AS

Alexandr Savichev in Ansible
2 картиночка
источник

E

Elenhil in Ansible
Да
источник

E

Elenhil in Ansible
Тогда буль in dict
источник

E

Elenhil in Ansible
И key не объявлен
источник

E

Elenhil in Ansible
Чот странное короче
источник

E

Elenhil in Ansible
Что мешает 'if 'val' in dict'?
источник

E

Elenhil in Ansible
Без этого всего странного
источник

SP

Sergey Pechenkó in Ansible
Alexandr Savichev
у меня вываливается с ошибкой, что отсутствует переменная. Я знаю, я намеренно вызвал парсинг ключ-значение, и подавил использование "значения". Так работает, но ансибл жалуется на отсутствующую переменную
Это так не работает, джинджа - не питон. Итератор по словарю даст список из key, value. Если надо извращаться - так для этого есть фильтр map.
источник

AS

Alexandr Savichev in Ansible
да Вы правы.. валидатор был не прав. Сделал так.
источник

AS

Alexandr Savichev in Ansible
источник

AS

Alexandr Savichev in Ansible
спасибо
источник

YZ

Yerzhan Zhiyentayev in Ansible
my_shit_dict | to_nice_yaml
Решит твою проблему. И не надо будет никаких if else
источник

AS

Alexandr Savichev in Ansible
Yerzhan Zhiyentayev
my_shit_dict | to_nice_yaml
Решит твою проблему. И не надо будет никаких if else
первая мысль
источник

YZ

Yerzhan Zhiyentayev in Ansible
Описываешь свой ямл конфиг в ямле как есть
Темплйт одна строка
Профит
источник

AS

Alexandr Savichev in Ansible
Yerzhan Zhiyentayev
Описываешь свой ямл конфиг в ямле как есть
Темплйт одна строка
Профит
так и сделал. Спасибо. Но в какой то момент, мне хотелось похвастаться, что я смог и сделал гомновклад в сообщество... Подумал хорошенько и наплевав на стандарт исправил схему
источник

r

raven428 in Ansible
Привет, чятик. Тут уже мусолилось про combine, но ответа я не нашёл. Если есть такой inventory:
---
group1:
 vars:
   dict:
     key1: value1
 hosts:
   localhost:
group2:
 vars:
   dict:
     key2: value2
 children:
   group1:
group3:
 vars:
   dict:
     key3: value3
 children:
   group2:
#...
groupN:
 vars:
   dict:
     keyN: valueN
 children:
   group3:

с которым выполняется PLAY:
- name: test
 hosts: groupN
 tasks:
   - debug:
       var: dict

То не важно, какую группу поставить в PLAY, в выводе будет только key1: value1. А есть вариант как-то смержить в этот конкретный словарь всех его предков в группах выше? combine словаря с самим собой пробовал - вываливается с рекурсией.

Т.е. аналог hash_behaviour=merge, но для конкретного словаря. В глобальный конфиг этот параметр не подходит, т.к. многие роли с ним не живут. Ну и в документации обещание по его выпиливанию в 2.13.
источник

TG

Timur Gadiev in Ansible
raven428
Привет, чятик. Тут уже мусолилось про combine, но ответа я не нашёл. Если есть такой inventory:
---
group1:
 vars:
   dict:
     key1: value1
 hosts:
   localhost:
group2:
 vars:
   dict:
     key2: value2
 children:
   group1:
group3:
 vars:
   dict:
     key3: value3
 children:
   group2:
#...
groupN:
 vars:
   dict:
     keyN: valueN
 children:
   group3:

с которым выполняется PLAY:
- name: test
 hosts: groupN
 tasks:
   - debug:
       var: dict

То не важно, какую группу поставить в PLAY, в выводе будет только key1: value1. А есть вариант как-то смержить в этот конкретный словарь всех его предков в группах выше? combine словаря с самим собой пробовал - вываливается с рекурсией.

Т.е. аналог hash_behaviour=merge, но для конкретного словаря. В глобальный конфиг этот параметр не подходит, т.к. многие роли с ним не живут. Ну и в документации обещание по его выпиливанию в 2.13.
Какова исходная задача?
источник

r

raven428 in Ansible
Timur Gadiev
Какова исходная задача?
Да их много разных и вряд ли столько описания кто-то захочет читать. Я просто из puppet пришёл, где можно было указать merge_behavior отдельно для каждого из lookup, а не только глобально.
источник

TG

Timur Gadiev in Ansible
raven428
Да их много разных и вряд ли столько описания кто-то захочет читать. Я просто из puppet пришёл, где можно было указать merge_behavior отдельно для каждого из lookup, а не только глобально.
Отвыкайте сразу. Многие паттерны в ансибле выглядят иначе
источник