List all ansible hosts from inventory file for a task
Asked Answered
L

2

33

For a backup I need to iterate over all hosts in my inventory file to be sure that the backup destination exists. My structure looks like

/var/backups/
            example.com/
            sub.example.com/

So I need a (built-in) variable/method to list all hosts from inventory file, not only a single group.

For groups its look like this

- name: ensure backup directories are present
  action: file path=/var/backups/{{ item }} state=directory
          owner=backup group=backup mode=0700
  with_items: groups['group_name']
  tags:
    - backup
Lonnylonslesaunier answered 29/12, 2013 at 18:39 Comment(0)
L
48

Thats the solution:

with_items: groups['all']
Lonnylonslesaunier answered 29/12, 2013 at 22:2 Comment(2)
Unfortunately "item" appears to be a string rather than the inventory item. How would you access item.inventory_hostname, for example?Andre
Perhaps you want to access hostvars? hostvars[item]["ansible_os_family"] for example.Gerladina
D
1

if the purpose is to just print all the hostnames then use below command.

ansible all --list-hosts

Duality answered 27/7, 2022 at 13:32 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.