У меня есть две кулинарные книги-обертки и поваренная книга сообщества apache2
. Первая кулинарная книга - наша core_dispatcher
оболочка, в которой используется apache2
, широко используемая для всех клиентов. Вторая обертка для конкретного клиента client_dispatcher
поваренная книга. Я хочу внести изменения только в одного клиента, поэтому я использую 2-й client_dispatcher
упаковщик, который упаковывает core_dispatcher
упаковщик.
Это строка, которую я хочу добавить к client_dispatcher
обертке
ErrorDocument 404 /content/en/error/404.html
Я создал новый шаблон anon_errordoc.erb
в своем client_dispatcher
и просто жестко запрограммировал его ErrorDocument 404 /content/en/error/404.html
в файле erb. Я хочу, чтобы это было добавлено к моему существующему vhost anoncom.conf
, который уже существует на моем сервере.
в моем рецепте client_wrapper у меня есть следующее:
include_recipe 'core_dispatcher::default'
edit_resource(:template, '/etc/httpd/sites-available/anoncom.conf') do
source 'anon-errordoc.erb'
cookbook 'client_dispatcher'
end
Ошибка после запуска chef-client
Recipe: <Dynamically Defined Resource>
* template[/etc/httpd/sites-available/anoncom.conf] action create
================================================================================
Error executing action `create` on resource 'template[/etc/httpd/sites-available/anoncom.conf]'
================================================================================
Chef::Exceptions::FileNotFound
------------------------------
Cookbook 'client_dispatcher' (0.1.13) does not contain a file at any of these locations:
templates/amazon-2017.09/dispatcher-vhost.conf.erb
templates/amazon/dispatcher-vhost.conf.erb
templates/default/dispatcher-vhost.conf.erb
templates/dispatcher-vhost.conf.erb
This cookbook _does_ contain: ['/var/chef/cache/cookbooks/client_dispatcher/templates/default/filters-anon.conf.erb','/var/chef/cache/cookbooks/client_dispatcher/templates/default/anoncom-errordoc.erb']
Resource Declaration:
---------------------
# In /var/chef/cache/cookbooks/apache2/definitions/web_app.rb
28: template "#{node['apache']['dir']}/sites-available/#{application_name}.conf" do
29: source params[:template]
30: local params[:local]
31: owner 'root'
32: group node['apache']['root_group']
33: mode '0644'
34: cookbook params[:cookbook] if params[:cookbook]
35: variables(
36: :application_name => application_name,
37: :params => params
38: )
39: if ::File.exist?("#{node['apache']['dir']}/sites-enabled/#{application_name}.conf")
40: notifies :reload, 'service[apache2]', :delayed
41: end
42: end
Compiled Resource:
------------------
# Declared in /var/chef/cache/cookbooks/apache2/definitions/web_app.rb:28:in `block in from_file'
template("/etc/httpd/sites-available/anoncom.conf") do
params {:template=>"dispatcher-vhost.conf.erb", :local=>false, :enable=>true, :server_port=>"80", :server_name=>"dev-anoncom.ctmsp.com", :server_aliases=>["dev-anoncom.ctmsp.com"], :docroot=>"/var/www/cache/publish/anoncom", :name=>"anoncom"}
action [:create]
retries 0
retry_delay 2
default_guard_interpreter :default
source "dispatcher-vhost.conf.erb"
cookbook "client_dispatcher"
variables {:application_name=>"anoncom", :params=>{:template=>"dispatcher-vhost.conf.erb", :local=>false, :enable=>true, :server_port=>"80", :server_name=>"dev-anoncom.ctmsp.com", :server_aliases=>["dev-anoncom.ctmsp.com"], :docroot=>"/var/www/cache/publish/anoncom", :name=>"anoncom"}}
declared_type :template
cookbook_name "core_dispatcher"
mode "0644"
owner "root"
group "root"
path "/etc/httpd/sites-available/anoncom.conf"
verifications []
end
Platform:
---------
x86_64-linux
Running handlers:
Running handlers complete