Как установить несколько групп в одном кадре с модулем ansible yum? - PullRequest
0 голосов
/ 27 июня 2018

Некоторые плагины, такие как модули yum и apt, могут получать списки напрямую со своими параметрами, это более оптимально, чем циклическое выполнение задачи. Подробности смотрите в документации к каждому действию, а пока вот пример:

- name: optimal yum
  yum:
    name: "{{list_of_packages}}"
    state: present

- name: non optimal yum, not only slower but might cause issues with interdependencies
  yum:
    name: "{{item}}"
    state: present
  loop: "{{list_of_packages}}"

Я пытался сделать это

- name: Install libvirt
  yum:
    name: '"@Virtualization Hypervisor" "@Virtualization Client"'

Но он не может сказать, что @Virtualization Hypervisor @Virtualization Client недоступен. Удаление одинарной кавычки или всех кавычек также не будет работать. Как подойти к этому?

В настоящее время я использую неоптимальное решение , но я бы хотел установить обе группы за один раз.

- name: Install libvirt
  yum:
    name: "{{ item }}"
    state: present
  loop:
    - "@Virtualization Hypervisor"
    - "@Virtualization Client"

1 Ответ

0 голосов
/ 27 июня 2018

В вашем примере вы не передаете «список пакетов». Вы передача одной строки:

- name: Install libvirt
  yum:
    name: '"@Virtualization Hypervisor" "@Virtualization Client"'

Список будет выглядеть примерно так:

- name: Install libvirt
  yum:
    name: 
      - "@Virtualization Hypervisor" 
      - "@Virtualization Client"

Если вы предпочитаете, следующее идентично:

- name: Install libvirt
  yum:
    name: ["@Virtualization Hypervisor", "@Virtualization Client"]
...