lwrp中的属性覆盖是否优先于12到13之间的优先级?

时间:2017-05-22 09:07:34

标签: chef

我一直在使用专有的遗留食谱,它有lwrp资源。 它的定义有这样的结构

action :someaction do
... 
    node.override['attr_group']['attr_a'] = 'some value' #Precedence 10?
...
end

我是否正确地假设以这种方式设置属性有效地将其置于12和13之间的优先级别以用于以后的资源(完全抑制角色和env)?

我从编译阶段收集角色和env属性这一事实得出了这样的结论,但是提议的例子在收敛阶段执行/设置新值。

Node attributes precedence

更新1: 我们将角色设置为

{
  "name": "myrole",
  "chef_type": "role",
  "json_class": "Chef::Role",
...
  "override_attributes": { #Precedence 11
    "attr_group": {
      "attr_a": "value from role"
    }
  }
}

在行动之后由后来的资源看到的节点['attr_group'] ['attr_a']的价值是什么:某些行动被执行了?

更新2: node.debug_value上的文档说明了节点数据存储区的布局,并清楚地回答了我的问题。

1 个答案:

答案 0 :(得分:1)

我们通常不会通过这些名称来引用级别,但这与该列表中的步骤10相同。 9和10是相同的级别,仅称为override,但设置在不同的时间。