我有一个与厨师(https://github.com/noha/virtual-gemstone)建立的旧项目。它使用 chef 和 vagrant 来实现它的目标。在过去的几个月里,这个项目已经过时了,现在我想重新激活它。但是我在使用 chef 11 运行它时运气不佳。无论我尝试什么,attributes/default.rb 中的值都不存在。在 gemstone/attributes/default.rb 文件中我有
default[:gemstone][:base_url] = "http://glass-downloads.gemstone.com/gss24"
default[:gemstone][:version] = "GemStone64Bit2.4.4.1-x86_64.Linux"
default[:gemstone][:dir] = "/opt/gemstone"
default[:gemstone][:log_dir] = "/opt/gemstone/log"
default[:gemstone][:lock_dir] = "/opt/gemstone/locks"
default[:gemstone][:user] = "gemstone"
default[:gemstone][:no_gems] = 3
default[:gemstone][:low_port] = 7000
default[:gemstone][:cache_path] = Chef::Config[:file_cache_path]
在 gemstone/recipes/base.rb 我有
...
tmp = node[:gemstone][:cache_path]
base_url = "#{node[:gemstone][:base_url]}"
file = "#{node[:gemstone][:version]}.zip"
dir = "#{node[:gemstone][:dir]}/#{node[:gemstone][:version]}"
...
但这些值始终未定义/为空。我什至尝试在属性文件中设置 node.default 以及在访问配方中的值时设置。
为了测试它,我将所有配方 .rb 文件复制到一个 default.rb 中,并添加了属性文件中的内容。这有效,但没有抱怨我在 gemstone/definitions/monit.rb 中定义的名为 monit_gem 的缺少函数。
整个项目在几个月前就开始工作了。因此,我认为我目前对 Chef 11 的设置存在根本性错误。但我找不到需要为此进行调整才能正常工作的太多内容。
厨师不读取属性和定义文件的原因可能是什么?