Skip to content

Latest commit

 

History

History
188 lines (141 loc) · 4.78 KB

README.md

File metadata and controls

188 lines (141 loc) · 4.78 KB

#Tuned Chef Cookbook

Build Status Code Climate ![Gitter](https://badges.gitter.im/Join Chat.svg)

#Description

Installs tuned and enables/disables tuned profiles. For more information on tuned please see the Red Hat documentation on this daemon

#Usage

###Attribute overview

Define some attributes to be used by the 'tuned_profile' resource. Attributes have 3 levels

default['tuned']['profile']['myprofile']
  • used as the profile filename must match resource instance name
default['tuned']['profile']['myprofile']['cpu']
  • creates a heading in the profile init file [cpu]
default['tuned']['profile']['myprofile']['cpu']['governor'] = 'performance'
  • creates an key value entry in the profile file under the '[cpu]' heading

###Attribute example

default['tuned']['profile']['myprofile']['cpu']['governor'] = 'performance'
default['tuned']['profile']['myprofile']['cpu']['energy_perf_bias'] = 'performance'
default['tuned']['profile']['myprofile']['cpu']['min_perf_pct'] = '100'
default['tuned']['profile']['myprofile']['disk']['readahead'] = '4096'
default['tuned']['profile']['myprofile']['vm']['transparent_hugepage'] = 'never'
default['tuned']['profile']['myprofile']['vm']['transparent_hugepage.defrag'] = 'never'
default['tuned']['profile']['myprofile']['sysctl']['kernel.sched_wakeup_granularity_ns'] = '15000000'
default['tuned']['profile']['myprofile']['sysctl']['kernel.sched_min_granularity_ns'] = '10000000'
default['tuned']['profile']['myprofile']['sysctl']['vm.dirty_background_ratio'] = '10'
default['tuned']['profile']['myprofile']['sysctl']['vm.dirty_ratio'] = '30'
default['tuned']['profile']['myprofile']['main']['include'] = 'latency-performance'
default['tuned']['profile']['myprofile']['sysctl']['vm.swappiness'] = '30'
default['tuned']['profile']['myprofile']['sysfs']['/sys/kernel/mm/transparent_hugepage/enabled'] = 'never'
default['tuned']['profile']['myprofile']['sysfs']['/sys/kernel/mm/transparent_hugepage/defrag'] = 'never'

The above example attributes when combined with a resource call:

tuned_profile 'myprofile' do
 action [:create, :enable]
end

Will create a file

  • /usr/lib/tuned/myprofile/tuned.conf

With the following contents:

# Dynamically generated default tuned profile file, applied by Chef!
[main]
include=latency-performance
[cpu]
governor=performance
energy_perf_bias=performance
min_perf_pct=100
[disk]
readahead=4096
[sysctl]
kernel.sched_wakeup_granularity_ns=15000000
kernel.sched_min_granularity_ns=10000000
vm.dirty_background_ratio=10
vm.dirty_ratio=30
vm.swappiness=30
[sysfs]
/sys/kernel/mm/transparent_hugepage/enabled=never
/sys/kernel/mm/transparent_hugepage/defrag=never
[vm]
transparent_hugepage=never
transparent_hugepage.defrag=never

Installs tuned if not already installed

###create and enable a profile

tuned_profile 'myprofile' do
 action [:create, :enable]
end

###enable a default system profile See Red Hat Documentation for availale defaults

tuned_profile 'balanced' do
 action [:enable]
end

###disable a profile (reverts to default)

tuned_profile 'myprofile' do
  action [:disable]
end

###default to tuned recommended profile

tuned_profile 'myprofile' do
  action [:default]
end

###Library Provider overview ####Property:

Name Description Default
main Define the [main] profile definition section {}
plugins Define the plugins profile definition {}

####Property example:

tuned_profile 'lwrp_profile' do
  main (include: 'latency-performance')
  plugins(cpu: {
            governor: 'performance',
            energy_perf_bias: 'performance'
          })
  action [:create, :enable]
end

#Contributing

  1. Fork it
  2. Create your feature branch + tests + Readme (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Requirements

Platform:

  • RHEL (>= 6.6)
  • CentOS (>= 6.6)

Cookbooks:

No dependencies defined

Attributes

No attributes defined

Recipes

  • tuned::default

Resources

tuned_profile

Actions

  • create: Default action.
  • default:
  • disable:
  • enable:

License and Maintainer

Maintainer:: Dave Meekin ([email protected])

License:: Apache v2.0