2 # Cookbook Name:: sysctl
5 # Copyright 2010, Tom Hughes
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
11 # http://www.apache.org/licenses/LICENSE-2.0
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
24 if node[:lsb][:release].to_f <= 8.04
25 sysctl_template = "sysctl.conf.erb"
26 sysctl_conf = "/etc/sysctl.conf"
28 directory "/etc/sysctl.d" do
34 sysctl_template = "chef.conf.erb"
35 sysctl_conf = "/etc/sysctl.d/60-chef.conf"
40 command "/sbin/sysctl -p #{sysctl_conf}"
43 template sysctl_conf do
44 source sysctl_template
48 notifies :run, resources(:execute => "sysctl")
51 node[:sysctl].each_value do |group|
52 group[:parameters].each do |key,value|
53 sysctl_file = "/proc/sys/#{key.gsub('.', '/')}"
57 only_if { File.exists?(sysctl_file) }