我正在使用 opscode nginx 食谱在我的节点上配置 nginx 服务器。nginx 食谱有一些我想在我的角色中覆盖的默认属性(“web_server”)。
这些是我想覆盖的属性:
default['nginx']['version'] = "1.2.2" # in cookbooks/nginx/attributes/default.rb
default['nginx']['source']['prefix'] = "/opt/nginx-#{node['nginx']['version']}" # in cookbooks/nginx/attributes/source.rb
在我的角色/web_server.rb 文件中,我有这样的内容:
name "web_server"
description "Setup a web server"
run_list "role[base]", "recipe[nginx]"
override_attributes 'nginx' => {
'install_method' => "source",
'version' => "1.2.3",
'source' => { "prefix" => "/opt/nginx", "checksum" => nil }
}
但是,在运行 chef-client 时,nginx 配方会忽略我的覆盖并使用默认值。
我在这里做错了什么?
谢谢!