kitchen.yml属性不会覆盖默认值 - Chef 12.12 - Kitchen 1.10

时间:2016-08-08 15:46:22

标签: chef test-kitchen chefdk chef-zero

我有一个简单的属性文件:attributes/default.rb

default['simpleattr'] = 'file value'

kitchen.yml内,我做

suites:
  - name: default
    run_list: 
      - recipe[simple::default]
    attributes:
     simpleattr: 'value from kitchen'
     simple:
       simpleattr: 'value from kitchen'

在食谱中,我这样做:

log  "default['simpleattr']: "+node.default['simpleattr']

我总是以'file value'而不是'value from kitchen'作为输出。

我想覆盖测试中的值。

1 个答案:

答案 0 :(得分:4)

不要通过node.default[]访问节点值,而是使用node[]。 Chef attribute hierarchy根据其优先级自动计算值。

我已将您的问题转载并上传here on Githubsolution也是我之前在评论中描述的。不要使用

node.default['simpleattr']

但是

node['simpleattr']

然后一切都如你所愿,输出

Recipe: simple::default
  * log[default['simpleattr']: value from kitchen] action write