我在/var/chef/roles/my_role.json
中有一个角色文件:
"name": "reports_server",
"description": "A test role for setting attributes for our Reports Server",
"override_attributes": {
"dn_reports_server": {
"reports": {
"branch": "testing",
},
}
},
"run_list": [
"recipe[cookbook::user_group]",
"recipe[cookbook::install_nodejs]",
"recipe[cookbook::install_reports]",
"recipe[cookbook::html_to_pdf]"
]
}
我在/etc/chef/solo.rb
中有一个配置:
cookbook_path "/var/chef/cookbooks"
data_bag_path "/var/chef/data_bags"
file_cache_path "/var/chef/cookbooks/"
log_level :info
log_location STDOUT
role_path "/var/chef/roles"
solo true
我使用的命令是:chef-solo -c /etc/chef/solo.rb -j /var/chef/roles/my_role.json
和chef-solo 14.1.12
在运行期间,Chef仅使用在cookbook的attributes/default.rb
部分中建立的默认属性。我很确定这不应该发生。我是否错误地调用了这些JSON属性?尽管被调用,为什么chef-solo会忽略JSON文件中的值,尤其是“override_attributes”?对于不同的版本,必须使用两种不同的烹饪书是没有意义的。