2014-01-03 5 views
3

У меня есть рецепт, который должен установить шаблон, а затем перезапустить службу ...повар рецепт, чтобы перезапустить Rsyslog

service "rsyslog" do 
    supports :restart => true, :reload => true 
    action [:enable, :start] 
end 

Chef::Log.info("Creating loggly rsyslog conf") 
template "/etc/rsyslog.d/22-loggly.conf" do 
    source "syslogd.conf.erb" 
    mode "0755" 
    owner "root" 
    group "root" 
    notifies :restart, resources(:service => "rsyslog") 
end 

Почему я получаю:

ERROR: resource template[/etc/rsyslog.d/22-loggly.conf] is configured to notify resource service['rsyslog'] with action restart, but service['rsyslog'] cannot be found in the resource collection. template[/etc/rsyslog.d/22-loggly.conf] is defined in /home/ubuntu/cookbooks/loggly-syslog/recipes/default.rb:7:in `from_file' 

[2014-01-03T23:26:37+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1) 

Как я могу make rsyslog restart/reload после добавления файла конфигурации?

+0

Я только что написал ответ, но вы уверены, что ресурс службы определен точно так же, как вы указали? – sethvargo

+0

Я спрашиваю, потому что вы можете столкнуться с ошибкой, которую я описал здесь: http://stackoverflow.com/questions/18370804/how-do-i-check-if-a-folder-exists-in-chef/20908633#20908633 – sethvargo

ответ

4

Вы используете старый синтаксис уведомления. Переключиться на новый синтаксис:

template '...' do 
    notifies :restart, 'service[rsyslog]' 
end 
+0

Справедливости ради следует, что [служебный документ по-прежнему использует обе формы синтаксиса уведомлений] (http://docs.opscode.com/resource_service.html). Я знаю, что это меня смутило, если одно извещение полностью заменило другое или было использование случаи для обоих - [foodcritic является настолько полезным] (http://acrmp.github.io/foodcritic/#FC043). Я отправил по электронной почте docs @ getchef, чтобы узнать, обновляют ли они это. –

+0

Я буду пинг Джеймс – sethvargo

+0

Отлично. Он говорит по этому поводу, когда мы говорим - и смена пойдет позже. –

Смежные вопросы