1、Ansible内置了一些变量以方便主机之间相互调用各自的变量。这些变量包括:
* hostvars允许你访问另一个主机的变量,当然前提是ansible已经收集到这个主机的变量了:
group_names:是当前主机所在的group列表
groups:是所有inventory的group列表
inventory_hostname:是在inventory里定义的主机名(ip或主机名称)
play_hosts是当前的playbook范围内的主机列表
inventory_dir和inventory_file是定义inventory的目录和文件
2、测试内置变量ansible-playbook:
---
- hosts: '` hosts `'
user: ansible
sudo: yes
sudo_user:root
tasks:
- name: Getthe all vars
shell:echo "` group_names `"
#shell:echo "` play_hosts `"
#shell:echo "` inventory_hostname `"
register:res
- debug:var=res.stdout_lines
3、以上tasks中可以去掉对应#分别测试,执行查看结果:
$ ansible-playbook -i ./hosts playhosts.yml -e 'hosts=all'
转载于:https://blog.51cto.com/laowafang/1619291