Я борюсь с проблемой вложенного цикла, где первый цикл находится на ключе элемента массива, а внутренний цикл на другой переменной.
У меня есть набор хостов, собранных по типам, поэтому у меня есть раздел для каждого типа в инвентаре, и я добавил каждый хост в правом разделе.
[typeA]
host1
host2]
[typeB]
host3
host4
Для каждого типа хостов у меня есть список модулей для установки на каждом хосте этоготип.Я создал конфигурацию JSON для сбора списка модулей по типу.
{
"modules" : [
{
"type": "typeA",
"list": ["module1","module2"]
},
{
"type": "typeB",
"list": ["module3","module4"]
}
]
}
Мне нужно создать на каждом хосте и для каждого установленного модуля файл, содержащий идентификаторы хостов всех хостов, принадлежащих к одному и тому же типу.текущая группа.
Например: На хосте 1 я должен создать 2 файла с именами module1.cfg и module2.cfg, которые содержат hostId для host1 и host2. На хосте 2 я должен создать 2 файла с именем module3.cfg и module4.cfg, содержащие hostId host3 и host4
Я предпочитаю подготовить файлы конфигурации на localhost (хосте, на котором я запускаю ansible)
Проблема в том, чтобы иметь двойной цикл: 1) Первый цикл для каждого модуля правильного типа 2) Второй цикл для каждого хоста, принадлежащего к типу текущего хоста
Проблема в том, что для первого цикла из-за структуры данных мне нужноцикл = использование "with_subelements:"
Кажется невозможным вложить классический вид (используя with_items) в цикл, используя "with_subelements: "
Есть идеи?
Моя задача: тип_узла - это тип хостов, которые я хочу установить:" typeA "или" typeB "
- name: "Only loop for modules"
debug:
msg: "Module = {{ item.1 }}"
with_subelements:
- "{{modules}}"
- list
when: item.0.type == node_type
delegate_to: localhost
Но я могудобавить новый with_items: "{{groups [node_type]}}": ОШИБКА!повторяющийся цикл в задании: items
Помощь приветствуется!Xavier