一、Ansible內置了一些變量以方便主機之間相互調用各自的變量。這些變量包括:shell
* hostvars容許你訪問另外一個主機的變量,固然前提是ansible已經收集到這個主機的變量了:ide
group_names:是當前主機所在的group列表測試
groups:是全部inventory的group列表spa
inventory_hostname:是在inventory裏定義的主機名(ip或主機名稱)debug
play_hosts是當前的playbook範圍內的主機列表ip
inventory_dir和inventory_file是定義inventory的目錄和文件it
二、測試內置變量ansible-playbook:class
---變量
- hosts: '` hosts `'file
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
三、以上tasks中能夠去掉對應#分別測試,執行查看結果:
$ ansible-playbook -i ./hosts playhosts.yml -e 'hosts=all'