sysctl-formula

This commit is contained in:
Niels Abspoel
2015-01-24 17:14:58 +01:00
commit 40ad4fe142
4 changed files with 67 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
sysctl
======
This formula ensures that a sysctl parameter is present on the system
from a pillar file.
Here's a small pillar data sample::
sysclt:
lookup:
pkg: procps-ng
config_location: /etc/sysctl.d
params:
vm.swappines:
value: 20
config: 10-swap.conf
fs.file-max: 10000
The state sysclt will ensure these are present on the system
based on the sysctl module of salt.
if no config value is given the key value will be written based host system.
on systemd systems this will be /etc/sysctl.d/99-salt.conf
on sysv init systems it will be /etc/sysctl.conf
+11
View File
@@ -0,0 +1,11 @@
sysctl:
lookup:
pkg: procps-ng
params:
fs.file-max:
value: 100000
config: fs.conf
vm.swappiness:
value: 20
+23
View File
@@ -0,0 +1,23 @@
{% from "sysctl/map.jinja" import sysctl with context %}
sysctl:
pkg.installed:
- name: {{ sysctl.pkg|json }}
{%- set config = pillar.get("sysctl", {} )%}
{%- for name, item in config.get('params', {}).items() %}
{%- if item == None -%}
{% set item = {} -%}
{%- endif -%}
{%- set value = item.get('value', {}) %}
{%- set config = item.get('config') %}
{{ name }}:
sysctl.present:
- name: {{ name }}
- value: {{ value }}
{%- if 'config' in item %}
- config: {{ sysctl.config_location}}/{{ config }}
{%- endif %}
{%- endfor -%}
+6
View File
@@ -0,0 +1,6 @@
{% set sysctl = salt['grains.filter_by']({
'Arch': {
'pkg' : 'procps-ng',
'config_location' : '/etc/sysctl.d',
},
}, merge=salt['pillar.get']('sysctl:lookup')) %}