覆盖角色文件中的Chef属性

时间:2013-08-05 23:09:29

标签: chef chef-solo

我正在尝试使用Chef Solo使用https://github.com/elasticsearch/cookbook-elasticsearch/blob/master/attributes/default.rb#L51这样的块覆盖http://pastie.org/private/rfrpsjvl2ldxjky91r6zqg

# filename: chef/roles/elasticsearch.rb
name "elasticsearch"
description "Args"
run_list ['recipe[java]', 'recipe[elasticsearch]']
override_attributes { "node" => { "elasticsearch" => { "bootstrap" => {  "mlockall" => false } } } }
# Also tried:
# override_attributes { "elasticsearch" => { "bootstrap" => {  "mlockall" => false } } }

似乎这可能是我的厨师版本中的错误(11.4.4issue at Google Cache, because of the opscodepocalypse

最近引入的一些问题似乎已更改为需要额外的元数据,但我找不到任何引用。

如果没有定义包装器食谱,我该如何覆盖这些属性?

如果有人可以告诉我如何使用Chef-solo自行调试这个奖励?

2 个答案:

答案 0 :(得分:1)

我根本无法完成这项工作,我在site-cookbooks/base/attributes/default.rb中写下了以下内容:

override.elasticsearch[:bootstrap][:mlockall] = false

Chef 11的属性解析优先级似乎发生了很大变化:http://www.opscode.com/blog/2013/02/05/chef-11-in-depth-attributes-changes/

答案 1 :(得分:0)

我会尝试

override_attributes :elasticsearch => { :bootstrap => {  :mlockall => false } }