【发布时间】:2015-10-26 15:41:53
【问题描述】:
我正在尝试使用在一本食谱中定义的属性,比如 foo,在另一本食谱中,比如 bar。我收到错误“nil:NilClass 的未定义方法 `[]'”
Chef
solo.rb
cookbooks
foo
attributes
default.rb
recipes
default.rb
metadata.rb
bar
attributes
default.rb
recipes
default.rb
metadata.rb
roles
roles.json
以上是我的厨师的结构。
solo.rb
cookbook_path File.expand_path("../chef/cookbooks", __FILE__)
json_attribs File.expand_path("../chef/roles/roles.json", __FILE__)
log_location STDOUT
log_level :debug
roles.json
{
"run_list": ["recipe[foo::default]"]
}
foo/attributes/default.rb
default['foo']['var1'] = "Hello"
栏/属性/default.rb
default['bar']['var1'] = node['foo']['var1']
foo/metadata.rb
name 'foo'
depends 'bar'
当我运行查询 chef-solo -c solo.rb 时,我收到如下错误
================================================================================
Recipe Compile Error in ../chef/cookbooks/bar/attributes/default.rb
================================================================================
NoMethodError
-------------
undefined method `[]' for nil:NilClass
Relevant File Content:
----------------------
Recipe Compile Error in ../chef/cookbooks/bar/attributes/default.rb:
1>> default['bar']['var1'] = node['foo']['var1']
这里foo 是我的应用程序,bar 是Chef Maven。如何导入属性??
【问题讨论】:
标签: chef-infra chef-solo