运行Ansible播放时获取当前串行计数器

时间:2017-02-28 12:16:53

标签: ansible

我正在运行一个Ansible游戏,它使用serial属性一次针对一部分主机运行。

我想获取当前的串行计数器,以便我可以使用它在add_host任务中动态设置组名。

例如我的hosts文件如下:

"172.23.130.13",
"172.23.130.34",
"172.23.130.99",
"172.23.130.94"

我的游戏如下:

- name: Create Add and Remove Group Batches
  gather_facts: false
  hosts: all
  become: true
  no_log: false
  serial: 2

  tasks:
    - add_host:
        name: "{{ item.1 }}"
        ansible_ssh_port: 2020
        group: loadbalancer-{{ <<serial counter here>> }}
        action: add
      with_indexed_items: "{{ ansible_play_batch  }}"
      delegate_to: localhost

serial设置为2时,此播放将运行两次。因此,我希望add_host任务创建两个组。一组名为loadbalancer-1,另一组名为loadbalancer-2

小组loadbalancer-1将包含来自hosts文件的前2个IP,以及接下来2个小组loadbalancer-2

这可能吗?

感谢您提供的任何帮助。

0 个答案:

没有答案