我正在尝试覆盖我的cookbook中属性文件中设置的默认属性,并使用在我的厨师服务器环境中设置的属性。
这是我的属性文件:
default['app'] = 'tomcat_app'
default['environment'] = 'env'
default['instance'] = 'tier'
default['application_name'] = "#{default['environment']}/#{default['app']}"
default['environment_instance'] = "#{default['environment']}/#{default['app']}/#{default['instance']}"
default['app_owner'] = 'app_user'
default['app_owner_group'] = 'app_group'
我的环境配置如下:
{
"app": {
"tomcat_app": "NGS"
},
"environment": {
"env": "/Test/Apps"
},
"instance": {
"tier": "tst"
},
"app_owner": {
"app_user": "ngsint"
},
"app_owner_group": {
"app_group": "batchdev"
},
"override_attributes": {}
}
但是在Chef-client运行期间,这些值不会被替换。我已将其设置为环境的默认属性。
答案 0 :(得分:1)
属性应该在default_attributes
Hash / Object中,它应该如下所示:
"default_attributes": {
"app": {
"tomcat_app": "NGS"
},
"environment": {
"env": "/Test/Apps"
},
"instance": {
"tier": "tst"
},
"app_owner": {
"app_user": "ngsint"
},
"app_owner_group": {
"app_group": "batchdev"
}
}