Chapter 3. Inventory: Describing Your Servers
So far, we’ve been working with only one server (or host, as Ansible calls it). In reality, you’re going to be managing multiple hosts. The collection of hosts that Ansible knows about is called the inventory. In this chapter, you will learn how to describe a set of hosts as an Ansible inventory.
The Inventory File
The default way to describe your hosts in Ansible is to list them in text files, called inventory files. A very simple inventory file might contain only a list of hostnames, as shown in Example 3-1.
Example 3-1. A very simple inventory file
ontario.example.com newhampshire.example.com maryland.example.com virginia.example.com newyork.example.com quebec.example.com rhodeisland.example.com
Note
Ansible uses your local SSH client by default, which means that it will understand any aliases that you set up in your SSH config file. This does not hold true if you configure Ansible to use the Paramiko connection plugin instead of the default SSH plugin.
Ansible automatically adds one host to the inventory by default: localhost. Ansible understands that localhost refers to your local machine, so it will interact with it directly rather than connecting by SSH.
Warning
Although Ansible adds localhost to your inventory automatically, you have to have at least one other host in your inventory file; otherwise, ansible-playbook will terminate with an error:
ERROR: provided hosts list is empty
If you have no other hosts in your inventory ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access