看起来 Ansible 无法从 group_vars 合并嵌套变量。我的结构是这样的
hosts.ini
::
[common:children]
frontend
backend
[frontend]
server1
[backend]
server2
Run Code Online (Sandbox Code Playgroud)
在groups-vars
目录中我有:
common.yaml
:
start_of_nested variables:
var1: value1
var2: value2
Run Code Online (Sandbox Code Playgroud)
frontend.yaml
:
start_of_nested variables:
var3: value3
var4: value4
Run Code Online (Sandbox Code Playgroud)
backend.yaml
:
start_of_nested variables:
var5: value5
var6: value6
Run Code Online (Sandbox Code Playgroud)
当我检查server1
变量时:
ansible server1 -m debug -a "var=hostvars[inventory_hostname]"
Run Code Online (Sandbox Code Playgroud)
我仅从以下位置获取变量frontend.yaml
:
"start_of_nested": {
"var3": "value3",
"var4": "value4"
}
Run Code Online (Sandbox Code Playgroud)
但我期待它们会与common.yaml
变量合并,我会得到类似的东西
"start_of_nested": {
"var1": "value1",
"var2": "value2",
"var3": "value3",
"var4": "value4"
}
Run Code Online (Sandbox Code Playgroud)
Ansible 有没有办法合并group_vars
它所属主机的嵌套变量?