Bootstrap FreeKB - Ansible - ini inventory plugin
Ansible - ini inventory plugin

Updated:   |  Ansible articles

Tasks are run against target servers. Some Ansible documentation refers to the target servers as "hosts".


After a clean install of Ansible, the "inventory" directive in ansible.cfg is commented out, like this.

#inventory = /path/to/hosts


In this scenario, the default hosts file is /etc/ansible/hosts and the default hosts file is completely commented out. If you were to issue command ansible all -m ping, the following would be displayed. Likewise, if you were to uncomment the "inventory" directive in ansible.cfg without defining your inventory, the following would be displayed.

[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'


Typically, target servers are defined in the default hosts file or your own inventory file. Sometimes, the "inventory" directive in ansible.cfg is uncommented and updated to point to the directory where the default hosts file or your own inventory file will be located.

Additionally, Ansible uses inventory plugins to parse inventory. For example, ansible.cfg may have the following. This assumes you have yaml as one of the enabled_plugins in ansible.cfg. Let's say you have ini as one of the enabled_plugins in ansible.cfg.

enable_plugins = host_list, yaml, ini


This also assumes you have defined your inventory in a ini file, such as hosts.ini. Let's say the hosts.ini file contains the following managed hosts (e.g. the target systems).


The ansible command with the --list-hosts and -vvv flags can be used to determine if the ini plugin is being used.

ansible all --list-hosts -vvv


If you get something like this, this suggests you did not define ini in ansible.cfg properly.

[WARNING]: Unable to parse /etc/ansible/hosts.ini as an inventory source


If the following is returned, the ini plugin is being used.

Parsed /etc/ansible/hosts.ini inventory source with ini plugin


Something like this should be returned.

  hosts (6):


Or, the ansible-inventory --list command can be used.

ansible-inventory --list


Or, the ansible-inventory --graph command can be used.

ansible-inventory --graph


Did you find this article helpful?

If so, consider buying me a coffee over at Buy Me A Coffee


Add a Comment

Please enter e1cfd1 in the box below so that we can be sure you are a human.