57 lines
1.2 KiB
Puppet
57 lines
1.2 KiB
Puppet
|
|
# Set sysctl value
|
|
#
|
|
# === Parameters
|
|
#
|
|
# $name:
|
|
# Sysctl key to set.
|
|
# $value:
|
|
# Value for given key.
|
|
#
|
|
# === Sample usage
|
|
#
|
|
# sysctl { "vm.swappinesss":
|
|
# value => "100",
|
|
# }
|
|
#
|
|
define sysctl::set($value) {
|
|
|
|
exec { "sysctl-${name}":
|
|
command => "sysctl -w ${name}='${value}'",
|
|
path => "/bin:/usr/bin:/sbin:/usr/sbin",
|
|
unless => "test \"`sysctl -n ${name}`\" = \"${value}\"",
|
|
}
|
|
|
|
exec { "sysctl-${name}-save":
|
|
path => "/bin:/usr/bin:/sbin:/usr/sbin",
|
|
command => "echo '${name}=${value}' >> /etc/sysctl.conf",
|
|
unless => "egrep '^${name}=' /etc/sysctl.conf",
|
|
}
|
|
|
|
}
|
|
|
|
|
|
# Set block device scheduler.
|
|
#
|
|
# === Parameters
|
|
#
|
|
# $name:
|
|
# Device name.
|
|
# $scheduler:
|
|
# Scheduler name.
|
|
#
|
|
# === Sample usage
|
|
#
|
|
# sysctl::block::scheduler { "vda":
|
|
# scheduler => "noop",
|
|
# }
|
|
#
|
|
define sysctl::block::scheduler($scheduler) {
|
|
|
|
exec { "sysctl-${name}-scheduler":
|
|
path => "/bin:/usr/bin:/sbin:/usr/sbin",
|
|
command => "echo '${scheduler}' >/sys/block/${name}/queue/scheduler",
|
|
unless => "fgrep -q '[${scheduler}]' /sys/block/${name}/queue/scheduler",
|
|
}
|
|
|
|
}
|