Skip to content

Commit 9a0c5cc

Browse files
committed
Move data to YAML files and keep map.jinja a template
- Add Gentoo support - Add FreeBSD support
1 parent 329323b commit 9a0c5cc

2 files changed

Lines changed: 33 additions & 31 deletions

File tree

sysctl/map.jinja

Lines changed: 21 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,35 @@
11
# -*- coding: utf-8 -*-
22
# vim: ft=jinja
33

4-
{## Start with defaults from defaults.sls ##}
4+
{## Start with defaults from defaults.sls and osfamilymap.yml ##}
55
{% import_yaml 'sysctl/defaults.yml' as default_settings %}
6+
{% import_yaml "sysctl/osfamilymap.yml" as os_family_map %}
67

7-
{% set sysctl_lookup = salt['pillar.get']('sysctl:lookup', {}).copy() %}
8-
9-
{% if sysctl_lookup.params is defined %}
10-
{% do sysctl_lookup.pop('params') %}
11-
{% endif %}
12-
13-
{% if sysctl_lookup.params2 is defined %}
14-
{% do sysctl_lookup.pop('params2') %}
15-
{% endif %}
8+
{% set osfam = salt['grains.filter_by'](
9+
os_family_map,
10+
grain='os_family',
11+
) or {}
12+
%}
1613

17-
{## setup variable using grains['os_family'] based logic ##}
18-
{% set os_family_map = salt['grains.filter_by']({
19-
'Arch': {},
20-
'RedHat': {
21-
"config": {
22-
"location": '/etc/sysctl.conf',
23-
}
24-
},
25-
'Suse': {
26-
"pkg": "procps",
27-
},
28-
'Debian': {
29-
"pkg": "procps",
30-
},
31-
},
32-
grain="os_family",
33-
merge=sysctl_lookup)
14+
{% do salt['defaults.merge'](default_settings['sysctl'], osfam) %}
15+
{% do salt['defaults.merge'](
16+
default_settings['sysctl'],
17+
salt['pillar.get']('sysctl:lookup',{}),
18+
)
3419
%}
3520

36-
{## Merge the flavor_map to the default settings ##}
37-
{% do default_settings.sysctl.update(os_family_map) %}
21+
{## Apply backwards compatiblility after merge ##}
22+
{% if default_settings['sysctl']['params'] is defined %}
23+
{% do default_settings['sysctl'].pop('params') %}
24+
{% endif %}
25+
{% if default_settings['sysctl']['params2'] is defined %}
26+
{% do default_settings['sysctl'].pop('params2') %}
27+
{% endif %}
3828

3929
{## Merge in sysctl pillar ##}
4030
{% set sysctl_settings = salt['pillar.get'](
4131
'sysctl',
42-
default=default_settings.sysctl,
43-
merge=True
32+
default=default_settings['sysctl'],
33+
merge=True,
4434
)
4535
%}

sysctl/osfamilymap.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
RedHat:
2+
config:
3+
location: /etc/sysctl.conf
4+
Suse:
5+
pkg: procps
6+
Debian:
7+
pkg: procps
8+
Gentoo:
9+
pkg: sys-process/procps
10+
FreeBSD:
11+
config:
12+
location: /etc/sysctl.conf

0 commit comments

Comments
 (0)