2013-05-14 61 views
0

我正在開發Ganglia配方Chef。 很簡單,我構建了四個不同的配置文件,我已經嘗試使用template,但爲了保持簡單,我構建了這些配置文件。爲什麼廚師找不到我的文件?

這是我的食譜:

return if tagged?('norun::ganglia') 

case node[:platform] 
    when "ubuntu", "debian" 
    pkg = "ganglia-monitor" 
    when "redhat", "centos", "fedora" 
    pkg = "ganglia-gmond" 
end 

package "#{pkg}" do 
    action :install 
end 

cookbook_file "/etc/ganglia/gmond.conf" do 
    owner "root" 
    group "root" 
    mode "0644" 
    source "gmond/" + node['base']['dc'] + "/node/gmond.conf" 
end 

# Adding ganglia-gmond as service 
service "gmond" do 
    supports :status => true, 
      :restart => true 
    action [ :enable, :start ] 
end 

這是我的食譜是如何構成的:

cookbooks/ganglia/ 
cookbooks/ganglia/files/default/gmond/* // I have others sub-folders here too 
cookbooks/ganglia/files/default/gmond/diveo/node/gmond.conf 
cookbooks/ganglia/recipes/default.rb 

但是,當我試圖運行我的食譜,它提供瞭如下錯誤:

[2013-05-14T14:23:38+00:00] FATAL: Chef::Exceptions::FileNotFound: cookbook_file[/etc/ganglia/gmond.conf] (ganglia::default line 25) had an error: Chef::Exceptions::FileNotFound: Cookbook 'ganglia' (0.1.0) does not contain a file at any of these locations: 
    files/centos-5.7/gmond/diveo/node/gmond.conf 
    files/centos/gmond/diveo/node/gmond.conf 
    files/default/gmond/diveo/node/gmond.conf 

This cookbook _does_ contain: ['diveo/monitor/gmond.conf','diveo/node/gmond.conf','awsvir/monitor/gmond.conf','awsvir/node/gmond.conf','awssp/monitor/gmond.conf','awssp/node/gmond.conf','alog/monitor/gmond.conf','alog/node/gmond.conf'] 

基本上它說我沒有這個文件,但是我在正確的道路上,對嗎?

回答

3

如果node['base']['dc']是一個平臺的名稱,然後cookbook_file語句應該看起來像

cookbook_file "/etc/ganglia/gmond.conf" do 
    owner "root" 
    group "root" 
    mode "0644" 
    source "gmond.conf" 
end 

和結構的conf文件的應該是這樣的

cookbooks/ganglia/ 
cookbooks/ganglia/files/default/gmond.conf 
cookbooks/ganglia/files/centos-5.7/gmond.conf 
... 

還有一點建議 - 使用template代替cookbook_file。總有一天你會想要爲你的gmane.conf添加一些參數。

而且,這裏是一個opscode.com DOC cookbook_file頁面 -

+0

謝謝德米特里!關於使用模板,我會創建一個關於它的帖子。 – 2013-05-14 18:29:22

+0

創建了Dmitri。 http://stackoverflow.com/questions/16550591/how-create-a-template-to-my-recipe-in​​-chef-for-two-different-configuration-files – 2013-05-14 18:49:23