【发布时间】:2015-09-02 03:50:50
【问题描述】:
我在生产环境中使用 Chef。我知道 Chef 已实现的标准属性优先级,在此处定义:
http://docs.chef.io/attributes.html#attribute-precedence
默认属性前置如下:
属性文件 -> 节点/配方 -> 环境 -> 角色
但是当我有一个包含多个角色的 run_list 时会发生什么?示例:
"run_list": [ "role[webserver]", "role[dbserver]" ]
以上哪个 default_attributes(在两个角色中定义)优先于另一个?
谢谢!
【问题讨论】:
-
这将是要评估的最后一个角色。我没有引用,但这只是我的经验。在不同文件中定义但具有相同优先级的属性将按顺序评估,最后一个定义为获胜者。
-
不是 100% 肯定,但非常确信角色会按照它们在运行列表中出现的顺序应用。正如马丁所说,最后一个将赢得优先权。想到的另一种可能性是它们可能会按字典顺序应用,但我认为情况并非如此。
标签: attributes chef-infra roles