假设一个组有10个主机 如何从10个N主机上运行剧本.N是从1到10的任意值 例如:
- hosts: groups['group_name'][1:3] it works.
但如果不是3我使用变量,就像这样
,它不起作用- hosts: groups['group_name'][1:N]
它可能是随机N,前N,后N也是。
谢谢。
答案 0 :(得分:2)
这项工作在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
。