Ansible。如何从组

时间:2016-07-25 14:24:32

标签: ansible ansible-playbook

假设一个组有10个主机 如何从10个N主机上运行剧本.N是从1到10的任意值 例如:

- hosts: groups['group_name'][1:3] it works.

但如果不是3我使用变量,就像这样

,它不起作用
- hosts: groups['group_name'][1:N]  

它可能是随机N,前N,后N也是。

谢谢。

1 个答案:

答案 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