可靠的。如何从组中选择N台主机
Ansible. How to choose N hosts from group
假设一个群组有10台主机。
如何 运行 10 台主机上的剧本。N 是从 1 到 10 的任意值。
示例:
- hosts: groups['group_name'][1:3] it works.
但是如果我使用变量而不是 3 它就不起作用,就像这样
- hosts: groups['group_name'][1:N]
它可以是随机的 N 个,第一个 N 个,最后一个 N 个等等。
谢谢。
这项工作在 ansible 2.1 中绝对没问题:
---
- hosts: all
gather_facts: no
tasks:
- group_by: key=limited_selection
when: play_hosts.index(inventory_hostname) < max_index | int
- hosts: limited_selection
gather_facts: no
tasks:
- debug: msg="I'm in the limited selection group!"
像这样执行:ansible-playbook -e max_index=3 playbook.yml
或在其他地方定义 max_index
。
假设一个群组有10台主机。
如何 运行 10 台主机上的剧本。N 是从 1 到 10 的任意值。
示例:
- hosts: groups['group_name'][1:3] it works.
但是如果我使用变量而不是 3 它就不起作用,就像这样
- hosts: groups['group_name'][1:N]
它可以是随机的 N 个,第一个 N 个,最后一个 N 个等等。
谢谢。
这项工作在 ansible 2.1 中绝对没问题:
---
- hosts: all
gather_facts: no
tasks:
- group_by: key=limited_selection
when: play_hosts.index(inventory_hostname) < max_index | int
- hosts: limited_selection
gather_facts: no
tasks:
- debug: msg="I'm in the limited selection group!"
像这样执行:ansible-playbook -e max_index=3 playbook.yml
或在其他地方定义 max_index
。