Ansible:获取组中的主机数量

For*_*vin 18 ansible ansible-playbook

我正在尝试获取某个组的主机数量.

想象一下这样的库存文件:

[maingroup]
server-[01:05]
Run Code Online (Sandbox Code Playgroud)

现在在我的剧本中我想获得maingroup其中一部分将5在这种情况下的主机数量,并将其存储在一个变量中,该变量应该在其中一个剧本任务的模板中使用.

目前我手动设置变量,这远非理想.

vars:
  HOST_COUNT: 5
Run Code Online (Sandbox Code Playgroud)

hel*_*loV 38

  vars:
    HOST_COUNT: "{{ groups['maingroup'] | length }}"
Run Code Online (Sandbox Code Playgroud)


小智 14

也没有明确的组名:

vars:
    HOST_COUNT: "{{ ansible_play_hosts | length }}"
Run Code Online (Sandbox Code Playgroud)

  • 再次阅读问题。`ansible_play_hosts` 与计算组中的主机完全不同。 (4认同)
  • 与选择的答案不同,此答案在每种情况下均有效 (2认同)