【发布时间】:2014-08-05 00:52:29
【问题描述】:
我正在使用 ansible 来管理生产配置以及 vagrant box。 我有默认值的文件: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"
在 host_vars/vagrantbox 我想要类似的东西:
db:
root_pwd: super_easy_password
但是这个完全覆盖了 db 字典,而我想覆盖单个键。 如何实现?
更新 1 刚刚检查了 ansible.cfg:
[defaults]
host_key_checking=false
hash_behaviour=merge
groups_vars/all
db:
root_pwd: some_strong_pwd
pdo_driver: pdo_mysql
host: localhost
name: dbname
user: dbuser
pwd: some password
charset: utf8
host_vars/vagrantbox
db:
root_pwd: root
我收到以下错误:
One or more undefined variables: 'dict object' has no attribute 'name'
我做错了什么?
【问题讨论】: