如何使用 ansible yum 模块一次安装多个组?
How to install multiple groups in one shot with ansible yum module?
Some plugins like, the yum and apt modules can take lists directly to their options, this is more optimal than looping over the task. See each action’s documentation for details, for now here is an example:
- 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"
在您的示例中,您没有通过 "a list of packages"。你是
传递单个字符串:
- 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"]
Some plugins like, the yum and apt modules can take lists directly to their options, this is more optimal than looping over the task. See each action’s documentation for details, for now here is an example:
- 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"
在您的示例中,您没有通过 "a list of packages"。你是 传递单个字符串:
- 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"]