我想充分利用變量優先級。Ansible - 當主機相同時,變量優先級失敗
那麼,讓我們來看看這個簡單的項目:
├── group_vars
│ └── all
│ └── web
├── hosts
│ └── local
└── site.yml
清單文件hosts/local
:
[local_web]
192.168.1.20
[local_db]
192.168.1.20
[web:children]
local_web
[db:children]
local_db
的group_vars/all
文件:
test: ALL
的group_vars/web
文件:
test: WEB
的site.yml
文件:
---
- name: Test
hosts: db
tasks:
- debug: var=test
好了,所以這只是測試變量的優先級。當我在db
組中運行ansible時,test
變量應顯示「ALL」,因爲只能看到group_vars/all
,對吧? 錯誤:
TASK: [debug var=test] ********************************************************
ok: [192.168.1.20] => {
"var": {
"test": "WEB"
}
}
其實,如果local_web
和local_db
主機不同,那麼它的工作原理。
當主機相同時,爲什麼ansible仍會查看不相關的配置文件?這是一個錯誤還是隻是我?
Ansible除了擁有這種令人厭煩的行爲外很棒。我看到它的方式,主機也是變量。爲什麼變量值會影響變量的優先級? – garbagecollector