如何使用ansible yum module一次性安装多个组?

如何使用ansible yum module一次性安装多个组?,ansible,yum,Ansible,Yum,一些插件,如yum和apt模块可以将列表直接带到它们的选项中,这比在任务上循环更为优化。有关详细信息,请参阅每个操作的文档,现在这里是一个示例: 我正试着这么做 - name: Install libvirt yum: name: '"@Virtualization Hypervisor" "@Virtualization Client"' 但它无法说明@Virtualization Hypervisor@Virtualization Client不可用。删除单引号或所有引号也不起

一些插件,如yum和apt模块可以将列表直接带到它们的选项中,这比在任务上循环更为优化。有关详细信息,请参阅每个操作的文档,现在这里是一个示例:

我正试着这么做

- 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"

在您的示例中,您没有传递“包列表”。你是 传递单个字符串:

- 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"]

文档说明:
要对多个包进行操作,可以接受逗号分隔的包列表或(从2.0开始)包列表。
- name: Install libvirt
  yum:
    name: ["@Virtualization Hypervisor", "@Virtualization Client"]