2013-12-12 01:33:01 +00:00

115 lines
2.6 KiB
Markdown

Support
=======
Issues have been disabled for this repository.
Any issues with this cookbook should be raised here:
[https://github.com/rcbops/chef-cookbooks/issues](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