4

假设我有以下厨师角色:

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

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

我究竟做错了什么?

4

1 回答 1

2

这确实是事情应该如何运作的。在“cookbook_name”配方中,您应该能够:cookbook_name使用两个元素:a:b.

您是否在节点上设置了运行列表和环境以包含您列出的角色和环境?跑步knife node show应该显示这一点。

于 2012-06-14T23:18:03.963 回答