From bd487b87f749a881db4dad770329a112ec91000d Mon Sep 17 00:00:00 2001 From: Ossi Salmi Date: Mon, 8 Jul 2013 15:43:36 +0300 Subject: [PATCH] sysctl: Added define for setting block device scheduler on the fly --- sysctl/manifests/init.pp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/sysctl/manifests/init.pp b/sysctl/manifests/init.pp index 18831fe..d370a4c 100644 --- a/sysctl/manifests/init.pp +++ b/sysctl/manifests/init.pp @@ -29,3 +29,29 @@ define sysctl::set($value) { } } + + +# 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", + } + +}