xcat-core/xCAT-OpenStack/chef-cookbooks/grizzly-xcat/cookbooks/sysctl
..
attributes
libraries
providers
recipes
resources
templates/default
.kitchen.yml
.tailor
.travis.yml
Berksfile
Berksfile.lock
CHANGELOG.md
chefignore
CONTRIBUTING.md
Gemfile
Gemfile.lock
metadata.json
metadata.rb
README.md
Thorfile
Vagrantfile

sysctl Build Status

Description

Set sysctl system control parameters via Opscode Chef

Platforms

  • Debian/Ubuntu
  • RHEL/CentOS (work in progress)

Usage

There are two main ways to interact with the cookbook. This is via chef attributes or via the provided LWRP.

Attributes

  • node['sysctl']['params'] - A namespace for setting sysctl parameters
  • node['sysctl']['conf_dir'] - Specifies the sysctl.d directory to be used. Defaults on Debian to /etc/sysctl.d, otherwise nil
  • node['sysctl']['allow_sysctl_conf'] - Defaults to false. This will write params to /etc/sysctl.conf directly when set to true.

LWRP

sysctl_param

Actions

  • apply (default)
  • remove

Attributes

  • key
  • value

Examples

# set vm.swapiness to 20 via attributes

node.default['sysctl']['params']['vm']['swappiness'] = 20

# set vm.swapiness to 20 via sysctl_param LWRP
sysctl_param 'vm.swappiness' do
  value 20
end

# remove sysctl parameter and set net.ipv4.tcp_fin_timeout back to default
sysctl_param 'net.ipv4.tcp_fin_timeout' do
  value 30
  action :remove
end

Development

This cookbook can be tested using vagrant, but it depends on the following vagrant plugins

vagrant plugin install vagrant-omnibus
vagrant plugin install vagrant-berkshelf

Tested with

  • Vagrant (version 1.2.1)
  • vagrant-berkshelf (1.2.0)
  • vagrant-omnibus (1.0.2)

Links

There are a lot of different documents that talk about system control parameters, the hope here is to point to some of the most useful ones to provide more guidance as to what the possible kernel parameters are and what they mean.