L oop на два списка и обрезать один на ansible - PullRequest
0 голосов
/ 21 февраля 2020

Итак, у меня есть 2 разных списка.

list_a: ["server1", "server2", "server3"]
list_b: ["domainA", "domainB"]

Мне нужно искать экземпляры серверов в разных доменах, и если сервер существует в одном домене, то не существует в другом.

Прямо сейчас я перебираю список серверов в пакете из 15 одновременно.

- name: Run items asynchronously in batch of two items
  vars:
    server_names: "{{ item }}"
  include_tasks: library/get_instances.yml
  loop: "{{ server_to_analize | batch(15) | list }}"

Что бы я сделал, это go по списку в одном домене, обрезать его, go до следующего и т. Д.
Проблема с этим решением заключается в том, что, хотя Я сокращаю список, я повторяю код. Чтобы получить экземпляры сервера

- name: Get instances domain A
- name: Trim the list
- name: Get instances domain B
- name: Trim the list
- name: Get instances domain C

Есть ли возможность сделать для внутри другого for в ansible?

for (domain in domains){
  for (server in server){
     Lookup server in domain
  }
}

Если это возможно, есть какой-либо способ обрезать список серверов, пока я его использую? Я думал сделать это с block , но пока нет возможности использовать with_items .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...