2012-03-09 17:44:14 +01:00
|
|
|
.. _patterns:
|
|
|
|
|
2012-03-08 19:53:48 +01:00
|
|
|
The Inventory File, Patterns, and Groups
|
|
|
|
========================================
|
2012-03-07 17:35:18 +01:00
|
|
|
|
2012-03-08 19:36:47 +01:00
|
|
|
How to select hosts you wish to manage
|
|
|
|
|
|
|
|
.. seealso::
|
|
|
|
|
|
|
|
:doc:`examples`
|
|
|
|
Examples of basic commands
|
|
|
|
:doc:`playbooks`
|
|
|
|
Learning ansible's configuration management language
|
|
|
|
|
2012-03-09 20:39:29 +01:00
|
|
|
|
|
|
|
.. _inventoryformat:
|
|
|
|
|
2012-03-08 19:53:48 +01:00
|
|
|
Inventory File Format
|
|
|
|
+++++++++++++++++++++
|
|
|
|
|
2012-03-08 19:36:47 +01:00
|
|
|
Ansible works against multiple systems in your infrastructure at the
|
2012-03-09 20:39:29 +01:00
|
|
|
same time. It does this by selecting portions of systems listed in
|
|
|
|
Ansible's inventory file, which defaults to /etc/ansible/hosts, and
|
|
|
|
looks like this::
|
2012-03-08 19:36:47 +01:00
|
|
|
|
|
|
|
mail.example.com
|
|
|
|
|
|
|
|
[webservers]
|
|
|
|
foo.example.com
|
|
|
|
bar.example.com
|
|
|
|
|
|
|
|
[dbservers]
|
|
|
|
one.example.com
|
|
|
|
two.example.com
|
|
|
|
three.example.com
|
|
|
|
|
2012-03-11 20:34:21 +01:00
|
|
|
The things in brackets are group names, you don't have to have them,
|
|
|
|
but they are useful.
|
2012-03-08 19:36:47 +01:00
|
|
|
|
2012-03-08 19:53:48 +01:00
|
|
|
Selecting Targets
|
|
|
|
+++++++++++++++++
|
|
|
|
|
|
|
|
These patterns target all hosts in the inventory file::
|
|
|
|
|
|
|
|
all
|
|
|
|
*
|
2012-03-08 19:36:47 +01:00
|
|
|
|
2012-03-11 20:34:21 +01:00
|
|
|
Basically 'all' is an alias for '*'. It is also possible to address a specific host or hosts::
|
2012-03-08 19:36:47 +01:00
|
|
|
|
|
|
|
one.example.com
|
|
|
|
one.example.com:two.example.com
|
2012-03-11 20:34:21 +01:00
|
|
|
192.168.1.50
|
|
|
|
192.168.1.*
|
2012-03-08 19:36:47 +01:00
|
|
|
|
2012-03-09 17:44:14 +01:00
|
|
|
The following patterns address one or more groups, which are denoted
|
2012-03-11 20:34:21 +01:00
|
|
|
with the aforementioned bracket headers in the inventory file::
|
2012-03-08 19:36:47 +01:00
|
|
|
|
|
|
|
webservers
|
|
|
|
webservers:dbservers
|
|
|
|
|
2012-03-11 20:34:21 +01:00
|
|
|
Individual host names (or IPs), but not groups, can also be referenced using
|
2012-03-09 17:44:14 +01:00
|
|
|
wildcards::
|
2012-03-08 19:36:47 +01:00
|
|
|
|
2012-03-09 20:39:29 +01:00
|
|
|
*.example.com
|
|
|
|
*.com
|
2012-03-08 19:36:47 +01:00
|
|
|
|
2012-03-08 19:53:48 +01:00
|
|
|
It's also ok to mix wildcard patterns and groups at the same time::
|
2012-03-08 19:36:47 +01:00
|
|
|
|
2012-03-09 20:39:29 +01:00
|
|
|
one*.com:dbservers
|
2012-03-08 19:36:47 +01:00
|
|
|
|
2012-03-09 20:39:29 +01:00
|
|
|
.. note::
|
2012-03-11 20:34:21 +01:00
|
|
|
It is not possible to target a host not in the inventory file. This is a safety feature.
|
|
|
|
|
|
|
|
Easy enough. Now see :doc:`examples` and then :doc:`playbooks` for how to do things to selected hosts.
|
|
|
|
|
|
|
|
|