]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/chef/recipes/default.rb
Restart chef-client by sending TERM and letting systemd restart it
[chef.git] / cookbooks / chef / recipes / default.rb
index c06384be7a87f37930dac12c1e8c384a1c32d05a..35ed0d87e6b116ac5cb8c7267d0d96ea210b1d17 100644 (file)
@@ -114,16 +114,6 @@ if node[:lsb][:release].to_f >= 15.10
     exec_start "/usr/bin/chef-client -i 1800 -s 20"
     restart "on-failure"
   end
-
-  service "chef-client" do
-    provider Chef::Provider::Service::Systemd
-    action [:enable, :start]
-    supports :status => true, :restart => true, :reload => true
-    subscribes :restart, "dpkg_package[chef]"
-    subscribes :restart, "systemd_service[chef-client]"
-    subscribes :restart, "template[/etc/chef/client.rb]"
-    subscribes :restart, "template[/etc/chef/report.rb]"
-  end
 else
   template "/etc/init/chef-client.conf" do
     source "chef-client.conf.erb"
@@ -131,14 +121,16 @@ else
     group "root"
     mode 0o644
   end
+end
 
-  service "chef-client" do
-    provider Chef::Provider::Service::Upstart
-    action [:enable, :start]
-    supports :status => true, :restart => true, :reload => true
-    subscribes :restart, "dpkg_package[chef]"
-    subscribes :restart, "template[/etc/init/chef-client.conf]"
-    subscribes :restart, "template[/etc/chef/client.rb]"
-    subscribes :restart, "template[/etc/chef/report.rb]"
+service "chef-client" do
+  action [:enable, :start]
+  if node[:lsb][:release].to_f >= 15.10
+    restart_command "systemctl kill --signal=TERM chef-client.service"
   end
+  supports :status => true, :restart => true, :reload => true
+  subscribes :restart, "dpkg_package[chef]"
+  subscribes :restart, "template[/etc/init/chef-client.conf]"
+  subscribes :restart, "template[/etc/chef/client.rb]"
+  subscribes :restart, "template[/etc/chef/report.rb]"
 end