diff options
author | Luke Macken <lmacken@redhat.com> | 2008-01-21 21:46:23 -0500 |
---|---|---|
committer | Luke Macken <lmacken@redhat.com> | 2008-01-21 21:46:23 -0500 |
commit | 383af275af983f3aceed941b457eb27fac6518d4 (patch) | |
tree | cc3bc96a6aac7a7b489f6e4e410f80eb76a18a2a /func/minion/modules/sysctl.py | |
parent | beba6363a0d81196f8ccc5d5a84084447e5c09d7 (diff) | |
download | third_party-func-383af275af983f3aceed941b457eb27fac6518d4.tar.gz third_party-func-383af275af983f3aceed941b457eb27fac6518d4.tar.xz third_party-func-383af275af983f3aceed941b457eb27fac6518d4.zip |
SysctlModule. This allows you to tweak your minions kernel parameters at runtime.
Diffstat (limited to 'func/minion/modules/sysctl.py')
-rw-r--r-- | func/minion/modules/sysctl.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/func/minion/modules/sysctl.py b/func/minion/modules/sysctl.py new file mode 100644 index 0000000..1f11d55 --- /dev/null +++ b/func/minion/modules/sysctl.py @@ -0,0 +1,31 @@ +# Copyright 2008, Red Hat, Inc +# Luke Macken <lmacken@redhat.com> +# +# This software may be freely redistributed under the terms of the GNU +# general public license. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +import func_module +import sub_process + +class SysctlModule(func_module.FuncModule): + + version = "0.0.1" + description = "Configure kernel parameters at runtime" + + def __run(self, cmd): + cmd = sub_process.Popen(cmd.split(), stdout=sub_process.PIPE, + stderr=sub_process.PIPE, shell=False) + return [line for line in cmd.communicate()[0].strip().split('\n')] + + def list(self): + return self.__run("/sbin/sysctl -a") + + def get(self, name): + return self.__run("/sbin/sysctl -n %s" % name) + + def set(self, name, value): + return self.__run("/sbin/sysctl -w %s=%s" % (name, value)) |