Ansible: Get number of hosts in group

2020-06-30 06:49发布

I'm trying to get the number of hosts of a certain group.

Imagine an inventory file like this:

[maingroup]
server-[01:05]

Now in my playbook I would like to get the number of hosts that are part of maingroup which would be 5 in this case and store that in a variable which is supposed to be used in a template in one of the playbook's tasks.

At the moment I'm setting the variable manually which is far from ideal..

vars:
  HOST_COUNT: 5

2条回答
冷血范
2楼-- · 2020-06-30 07:18
  vars:
    HOST_COUNT: "{{ groups['maingroup'] | length }}"
查看更多
来,给爷笑一个
3楼-- · 2020-06-30 07:25

Also without explicit group name:

vars:
    HOST_COUNT: "{{ ansible_play_hosts | length }}"
查看更多
登录 后发表回答