Ansible Concepts: Difference between revisions
No edit summary |
(→Fact) |
||
Line 92: | Line 92: | ||
Facts are pieces of information about remote nodes. Facts can used in playbooks and templates just like variables, but they are inferred, rather than set, during automatic discovery when running plays, by executing the internal setup module on the remote node. | Facts are pieces of information about remote nodes. Facts can used in playbooks and templates just like variables, but they are inferred, rather than set, during automatic discovery when running plays, by executing the internal setup module on the remote node. | ||
=Role= |
Revision as of 16:25, 25 May 2017
External
Internal
Inventory File
Ansible works against multiple systems at the same time. It does this by selecting portions of systems listed in Ansible’s inventory file. The default location of the inventory file is /etc/ansible/hosts.
A different location of the inventory file can be specified on the command line with:
-i <path>
Inventory File Structure
host1.example.com [webservers] web1.example.com web2.example.com [dbservers] db1.example.com db2.example.com
Groups
The headings in brackets are group names, which are used in classifying systems and deciding what systems you are controlling at what times and for what purpose. A host can be part of more than one group.
Default Groups
There are two default groups: "all" and "ungrouped". "all" contains every host. ungrouped contains all hosts that don’t have another group aside from all.
Recursive Groups
Recursive groups are declared with the [<group-name>:children].
[A] host1 host2 [B] host3 host4 [AandB:children] A B [AandB:vars] something=something-else
Group Variables
Group variables are declared with [<group-name>:vars]. If they are declared this way, the variables apply to an entire group at once.
[group-A] host1 host2 [group-A:vars] something=something-else
Host Variables
Variables that apply to a specific host are declared after the host name:
[group1] host1 http_port=80 maxRequestsPerChild=808 host2 http_port=303 maxRequestsPerChild=909
Playbook
Fact
Facts are pieces of information about remote nodes. Facts can used in playbooks and templates just like variables, but they are inferred, rather than set, during automatic discovery when running plays, by executing the internal setup module on the remote node.