Chef infra 由于chef 11中的只读,拒绝失败

Chef infra 由于chef 11中的只读,拒绝失败,chef-infra,Chef Infra,使用拒绝时,我收到一个只读错误。从我的理解只有拒绝!应该失败吗 (Node attributes are read-only when you do not specify which precedence level to set. To set an attribute use code like `node.default["key"] = "value"') on line #3: 1: <% @params[:servers].each do |server| -%&g

使用拒绝时,我收到一个只读错误。从我的理解只有拒绝!应该失败吗

(Node attributes are read-only when you do not specify which precedence level to set. To set an attribute use code like `node.default["key"] = "value"') on line #3:

    1: <% @params[:servers].each do |server| -%>
   2: server {
   3:   <% server.reject{|key,value| key == 'location'}.each_pair do |name, value| -%>
   4:   <%= name %> <%= value %>;
   5:   <% end -%>
(当您不指定要设置的优先级时,节点属性是只读的。要设置属性,请使用第3行的“Node.default[“key”]=“value””之类的代码:
1: 
2:服务器{
三:
4:    ;
5:   

chef 11.10.4

chef属性不完全是散列,它们不支持与散列相同的操作。如果要调用散列方法,则需要对该散列进行深度复制。

在示例中,实际上不需要深度复制。可以使用


这个问题似乎离题了,因为有一个关于这个问题的错误报告,没有“答案”。谢谢,我以前只找到了原始的gist线程。所以我同意