我正在使用ansible来管理生产以及流浪盒的配置.我有默认值的文件:group_vars/all.
---
env: prod
wwwuser: www-data
db:
root_pwd: root_pwd
pdo_driver: pdo_mysql
host: localhost
name: test
user: test
pwd: test
charset: utf8
domain: somedomain
projectdir: /var/www/application
webrootdir: "{{ projectdir }}/web"
Run Code Online (Sandbox Code Playgroud)
在host_vars/vagrantbox中我希望有类似的东西:
db:
root_pwd: super_easy_password
Run Code Online (Sandbox Code Playgroud)
但是这个完全超越db dictrionary,而我想覆盖单键.怎么实现呢?
更新1 刚用ansible.cfg检查:
[defaults]
host_key_checking=false
hash_behaviour=merge
Run Code Online (Sandbox Code Playgroud)
groups_vars /所有
db:
root_pwd: some_strong_pwd
pdo_driver: pdo_mysql
host: localhost
name: dbname
user: dbuser
pwd: some password
charset: utf8
Run Code Online (Sandbox Code Playgroud)
host_vars/vagrantbox
db:
root_pwd: root
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
One or more undefined variables: 'dict object' has no attribute 'name'
Run Code Online (Sandbox Code Playgroud)
我做错了什么?