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 # The failhard option tells the minions to stop immediately after the first
# failure detected in the state execution, defaults to False # 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 # 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 # 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 # 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 # this is the case, and pillar data is defined, then the pillar_roots need to
# also be configured on the minion: # also be configured on the minion:
{% if 'pillar_roots' in master -%} {% if 'pillar_roots' in minion -%}
pillar_roots: pillar_roots:
{% for name, roots in master['pillar_roots'].items() -%} {% for name, roots in minion['pillar_roots'].items() -%}
{{ name }}: {{ name }}:
{% for dir in roots -%} {% for dir in roots -%}
- {{ dir }} - {{ dir }}

View File

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

View File

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