Ansible_playbook_内置变量
2017-10-22 本文已影响29人
Michael_林
#
# playbook 默认已经内置了变量,通过这些变量可以进行主机相关的判断了。
#
-
- groups 和 group_names:
-
groups:
groups 变量是一个全局变量,引用了inventory文件里所有的额主机以及主机组信息
它返回的是一个json字符串。
playbook中通过{{ groups }}或是{{ groups.属性}}的方式来引用 -
group_names:
group_names引用当前主机所在的group的名称
-
hosts: tomcat
tasks:- debug: msg={{ groups.all}}
- debug: msg={{group_names}}
...
-
- hsotvars:
- hostvars 可以用来引用指定主机的信息
-
hosts: tomcat
tasks:- debug: msg={{ groups.all}}
- debug: msg={{group_names}}
- debug: msg="{{hostvars['ansible1']['ansible_default_ipv4']['address']}}"
...
-
- inventory_hostname 和 inventory_hostname_short
- inventory_hostname 变量返回inventory 文件里面定义的主机名
- inventory_hostname_short 返回inventory文件中主机名的第一部分
-
- play_hosts 和 inventory_dir
- play_hosts 返回当前playbook运行的主机信息,格式是host list结构
- inventory_dir 变量返回当前playbook使用的inventory目录