compass-adapters/chef/cookbooks/sysctl
Weidong Shao 7d1e1fb149 Initial commit 2013-12-12 01:33:01 +00:00
..
mysql Initial commit 2013-12-12 01:33:01 +00:00
providers Initial commit 2013-12-12 01:33:01 +00:00
recipes Initial commit 2013-12-12 01:33:01 +00:00
resources Initial commit 2013-12-12 01:33:01 +00:00
templates/default Initial commit 2013-12-12 01:33:01 +00:00
.tailor Initial commit 2013-12-12 01:33:01 +00:00
README.md Initial commit 2013-12-12 01:33:01 +00:00
metadata.rb Initial commit 2013-12-12 01:33:01 +00:00

README.md

Support

Issues have been disabled for this repository.
Any issues with this cookbook should be raised here:

https://github.com/rcbops/chef-cookbooks/issues

Please title the issue as follows:

[sysctl]: <short description of problem>

In the issue description, please include a longer description of the issue, along with any relevant log/command/error output.
If logfiles are extremely long, please place the relevant portion into the issue description, and link to a gist containing the entire logfile

Description

Set sysctl values from Chef!

Attributes

  • node['sysctl'] - A namespace for sysctl settings.

Usage

There are two ways of setting sysctl values:

  1. Set chef attributes in the sysctl namespace. e.g.:

     node.set['sysctl']['set swappiness'] = { 'vm.swappiness' => '20' }
    
  2. Set values in a cookbook_file Resource.

  3. With Ressource/Provider.

Resource/Provider

This Cookbook includes two LWRPs:

  1. sysctl
  2. sysctl_multi

sysctl

Actions

  • :save - Save and set a sysctl value (default).
  • :set - Set a sysctl value.
  • :remove - Remove a (previous set) sysctl.

Attribute Parameters

  • variable - Variable to manage. e.g. net.ipv4.ip_forward, vm.swappiness.
  • value - Value to affect to variable. e.g. 1, 0.
  • path - Path to a specific file.

Examples

###ruby

# Set 'vm.swappiness' to '60'. Will create /etc/sysctl.d/40-vm.wappiness.conf
sysctl 'vm.swappiness' do
    value '40'
end

####the same. will create /etc/sysctl.d/40-vm_swappiness_to_60.conf

sysctl 'vm swappiness to 60' do
  variable 'vm.swappiness'
  value '60'
end

####Remove /etc/sysctl.d/40-ip_config.conf sysctl 'ip config' do action :remove end

Set swappiness but don't save it.

sysctl 'vm.swappiness' do
  action :set
  value '40'
end

sysctl_multi

Actions

  • :save - Save and set a sysctl value (default).
  • :set - set a sysctl value.
  • :remove - remove a (previous set) sysctl.

Attribute Parameters

  • instructions - Hash with instruction. e.g. {variable => value, variable2 => value2}. Override use of 'variable' and 'value'.
  • path - Path to a specific file.

Examples

####ruby

set multi variables. will create /etc/sysctl.d/69-ip_config.conf

sysctl_multi 'ip config' do
  instructions {
    'net.ipv4.ip_forward' => '1',
    'net.ipv6.conf.all.forwarding' => '1',
    'net.ipv4.tcp_syncookies' => '1'}
end