Isolated package mapping and some fixes

Moved package_table to it's own file, imported by sls files
Moved minion package under watch
Fixed some template mistakes I made
This commit is contained in:
Kenneth Wilke 2013-08-14 14:53:29 -05:00
parent b8cbf60db9
commit a6667cdb81
4 changed files with 22 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

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

@ -0,0 +1,12 @@
{% set package_table = {
'Debian': {'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 %}