我有一個與廚師合作的舊項目(https://github.com/noha/virtual-gemstone)。它使用廚師和流浪漢一起實現其目標。這個項目在過去的幾個月裏已經過時了,現在我想重新激活它。 但我沒有太多的運氣與主廚11一起運行。無論我嘗試什麼,屬性/ default.rb中的值都不存在。在寶石/屬性/ 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]
,並在寶石/食譜/ 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。
整個項目在幾個月前就開始工作了。所以我認爲我目前對廚師11的設置存在根本性錯誤。但是爲了正常工作,我找不到需要調整的部分。
什麼可能是由大廚不讀取屬性和定義文件的原因?
有時使用'include_attribute'確保屬性文件按正確的順序加載很重要。 (標記你的答案也是答案。) –
這個答案解決了我的問題 - 我的食譜的屬性沒有被加載。我爲metadata.rb添加了一個「depends」語句,包括破壞的配方,現在一切正常。 – spiffytech