无法访问Chef角色和环境default_attributes

说我有以下厨师角色:

name "test"
description "role for test"
run_list %w(recipe[cookbook_name])
default_attributes(
  :cookbook_name => {
    :a => 1
  }
)

和相应的环境:

name "test environment"
description "environment for test"
default_attributes(
  :cookbook_name => {
    :b => 2
  }
)

然后在我的食谱中我有类似的东西:

parent = default[:cookbook_name]
parent[:c] = 3

attribute documentation让我相信这些将在节点[:cookbook_name] [:a]或节点[:cookbook_name] [:b]的配方上下文中可用.但是,当我尝试访问我实际食谱中的那些时,我没有.这是怎么回事?我误解了这些属性的作用吗?我认为值得注意的是,即使我在属性文件中为这些属性设置了默认值,我也会得到相同的结果,这让我相信我正在错误地访问属性.

我究竟做错了什么?

最佳答案 这确实是事情应该如何运作的.在“cookbook_name”配方中,您应该能够访问:cookbook_name哈希,其中包含两个元素:a和:b.

您是否在节点上设置了运行列表和环境以包含您列出的角色和环境?跑刀节点显示应该显示这个.

点赞