X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/7b9ec4b60ee39614d1d083d7220e76b07d2b275f..a6af365bd0033a3c6a2219af0817b107ce4e0b38:/cookbooks/sysctl/recipes/default.rb diff --git a/cookbooks/sysctl/recipes/default.rb b/cookbooks/sysctl/recipes/default.rb index 58e86f94c..b65b12a21 100644 --- a/cookbooks/sysctl/recipes/default.rb +++ b/cookbooks/sysctl/recipes/default.rb @@ -8,7 +8,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, @@ -17,44 +17,42 @@ # limitations under the License. # -package "procps" do - action :install -end - -if node[:lsb][:release].to_f <= 8.04 - sysctl_template = "sysctl.conf.erb" - sysctl_conf = "/etc/sysctl.conf" +if node[:virtualization][:role] == "guest" && + node[:virtualization][:system] == "lxd" + file "/etc/sysctl.d/60-chef.conf" do + action :delete + end else + package "procps" + directory "/etc/sysctl.d" do owner "root" group "root" - mode 0755 + mode 0o755 end - sysctl_template = "chef.conf.erb" - sysctl_conf = "/etc/sysctl.d/60-chef.conf" -end - -execute "sysctl" do - action :nothing - command "/sbin/sysctl -p #{sysctl_conf}" -end + execute "sysctl" do + action :nothing + command "/sbin/sysctl -p /etc/sysctl.d/60-chef.conf" + end -template sysctl_conf do - source sysctl_template - owner "root" - group "root" - mode 0644 - notifies :run, resources(:execute => "sysctl") -end + template "/etc/sysctl.d/60-chef.conf" do + source "chef.conf.erb" + owner "root" + group "root" + mode 0o644 + notifies :run, "execute[sysctl]" + end -node[:sysctl].each_value do |group| - group[:parameters].each do |key,value| - sysctl_file = "/proc/sys/#{key.gsub('.', '/')}" + node[:sysctl].each_value do |group| + group[:parameters].each do |key, value| + sysctl_file = "/proc/sys/#{key.tr('.', '/')}" - file sysctl_file do - content "#{value}\n" - only_if { File.exists?(sysctl_file) } + file sysctl_file do + content "#{value}\n" + atomic_update false + ignore_failure true + end end end end