ansible/rst/patterns.rst

77 lines
1.7 KiB
ReStructuredText
Raw Normal View History

.. _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
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
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
192.168.1.50
192.168.1.*
2012-03-08 19:36:47 +01:00
The following patterns address one or more groups, which are denoted
with the aforementioned bracket headers in the inventory file::
2012-03-08 19:36:47 +01:00
webservers
webservers:dbservers
Individual host names (or IPs), but not groups, can also be referenced using
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::
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.