gpt4 book ai didi

linux - 为什么 Chef 找不到我的文件?

转载 作者:太空宇宙 更新时间:2023-11-04 09:03:09 24 4
gpt4 key购买 nike

我正在 Chef 中开发一个 Ganglia Recipe 。非常简单,我构建了四个不同的配置文件,我已经尝试将其用作模板,但为了简单起见,我构建了这些配置文件。

这是我的 Recipe :

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

这就是我的 Recipe 的结构:

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

但是当我尝试运行我的 Recipe 时,它给出了以下错误:

[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']

基本上它说我没有文件,但我有,在正确的路径上,对吧?

最佳答案

如果 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 的 cookbook_file 文档页面 -

关于linux - 为什么 Chef 找不到我的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16546152/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com