这是我的设置
cookbooks /
supervisord /
definitions /
supervisord_group.erb
templates /
process_group.conf.erb
my_app /
recipes /
default.rb在cookbooks/supervisord/definitions/supervisord_group.erb中,我有这样的功能:
define :supervisord_group, :programs => [], :enable => true do
include_recipe "supervisord::install"
if params[:enable]
template "#{node[:supervisord][:conf_dir]}/#{params[:name]}_group.conf" do
source "process_group.conf.erb"
variables({
:name => params[:name],
:programs => params[:programs].join(",")
})
owner node[:user]
group node[:group]
mode 0755
end
end
end在cookbooks/my_app/recipes/default.rb中,我有:
supervisord_group "myapps" do
programs ["test1", "test2"]
end问题是,当我运行它时,我得到一个错误,它无法找到模板process_group.erb.conf。下面是输出:
Cookbook 'my_app' (0.0.0) does not contain a file at any of these locations:
templates/ubuntu-10.04/process_group.conf.erb
templates/ubuntu/process_group.conf.erb
templates/default/process_group.conf.erb如果我的supervisord_group定义是引用模板的定义,那么为什么要让my_app食谱包含它呢?有什么想法吗?
发布于 2013-07-03 21:54:38
因此,看起来模板提供程序有一个文档不明确的属性,它允许您指定模板所在的食谱。您必须将cookbook "supervisord"添加到模板设置中,才能正确地找到它。
https://stackoverflow.com/questions/17449587
复制相似问题