ansible group_by 对所有主机 分组


Example playbook to demonstrate the group_by action plugin.

#

as we know, the setup module will automatically run in each play, and sets up various

facts. We can then create temporary (in memory only) groups based on those facts, which

are useful ways of selecting similar sets of hosts.

#

Additionally, we can use the ‘register’ keyword in Ansible to set similar variables

and use those for grouping. This is not shown in this example.

  • hosts: all

    tasks:

    • name: Create a group of all hosts by operating system
      action: group_by key=${ansible_distribution}-${ansible_distribution_version}

the following host group does not exist in inventory and was created by the group_by

module.

  • hosts: CentOS-6.2

    tasks:

    • name: ping all CentOS 6.2 hosts
      action: ping
  • hosts: CentOS-6.3

    tasks:

    • name: ping all CentOS 6.3 hosts
      action: ping