我注意到如果我在cookbook中使用node.default
(而不是应用cookbook属性),环境中的属性就不会被应用。但是,如果我使用node
,则会应用环境中更改的属性;为什么?我认为node
和node.default
是同一个?
答案 0 :(得分:3)
节点属性优先级可能令人困惑。一旦你阅读了几次,该文档确实有帮助
https://docs.chef.io/attributes.html
我的建议如下:
这里的目标是一致性
答案 1 :(得分:3)
FIND_IN_SET
为您提供整个节点对象的视图。 node
仅告诉您在node.default
级别设置了哪些值。因此,您永远不应该从default
读取,因为您将明确忽略所有更高的先例级别。即,你的node.default
不会计算在内。存在overrides
以允许您在节点上设置默认值。