我有一个简单的属性文件: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'
作为输出。
我想覆盖测试中的值。
答案 0 :(得分:4)
不要通过node.default[]
访问节点值,而是使用node[]
。 Chef attribute hierarchy根据其优先级自动计算值。
我已将您的问题转载并上传here on Github。 solution也是我之前在评论中描述的。不要使用
node.default['simpleattr']
但是
node['simpleattr']
然后一切都如你所愿,输出
Recipe: simple::default
* log[default['simpleattr']: value from kitchen] action write