2
0

Merge pull request #13 from KennethWilke/master

Isolated package mapping and some fixes
This commit is contained in:
Seth House 2013-08-14 14:22:44 -07:00
commit c0e2423707
4 changed files with 28 additions and 15 deletions

View File

@ -294,7 +294,7 @@ id: {{ minion['id'] }}
#
# The failhard option tells the minions to stop immediately after the first
# failure detected in the state execution, defaults to False
{{ get_config(failhard'', 'False') }}
{{ get_config('failhard', 'False') }}
#
# autoload_dynamic_modules Turns on automatic loading of modules found in the
# environments on the master. This is turned on by default, to turn of
@ -389,9 +389,9 @@ file_roots:
# The Salt pillar is searched for locally if file_client is set to local. If
# this is the case, and pillar data is defined, then the pillar_roots need to
# also be configured on the minion:
{% if 'pillar_roots' in master -%}
{% if 'pillar_roots' in minion -%}
pillar_roots:
{% for name, roots in master['pillar_roots'].items() -%}
{% for name, roots in minion['pillar_roots'].items() -%}
{{ name }}:
{% for dir in roots -%}
- {{ dir }}

View File

@ -1,10 +1,8 @@
{% from "salt/package-map.jinja" import pkgs with context %}
salt-master:
pkg.installed:
{% if grains['os_family'] in ['RedHat', 'Debian'] %}
- name: salt-master
{% else %}
- name: salt
{% endif %}
- name: {{ pkgs['salt-master'] }}
file.managed:
- name: /etc/salt/master
- template: jinja

View File

@ -1,17 +1,14 @@
{% from "salt/package-map.jinja" import pkgs with context %}
salt-minion:
pkg.installed:
{% if grains['os_family'] in ['RedHat', 'Debian'] %}
- name: salt-minion
{% else %}
- name: salt
{% endif %}
- name: {{ pkgs['salt-minion'] }}
file.managed:
- name: /etc/salt/minion
- template: jinja
- source: salt://salt/files/minion
service.running:
- enable: True
- require:
- pkg: salt-minion
- watch:
- pkg: salt-minion
- file: salt-minion

18
salt/package-map.jinja Normal file
View File

@ -0,0 +1,18 @@
{% set package_table = {
'Debian': {'salt-master': 'salt-master',
'salt-minion': 'salt-minion'},
'Ubuntu': {'salt-master': 'salt-master',
'salt-minion': 'salt-minion'},
'CentOS': {'salt-master': 'salt-master',
'salt-minion': 'salt-minion'},
'Fedora': {'salt-master': 'salt-master',
'salt-minion': 'salt-minion'},
'RedHat': {'salt-master': 'salt-master',
'salt-minion': 'salt-minion'}
} %}
{% if 'package_table' in pillar %}
{% set pkgs = pillar['package_table'] %}
{% elif grains['os'] in package_table %}
{% set pkgs = package_table[grains['os']] %}
{% endif %}