Added package map, reorg'd some things

This commit is contained in:
Kenneth Wilke 2013-08-15 17:25:15 -05:00
parent aa6a4d80c3
commit 38a860931f
5 changed files with 48 additions and 27 deletions

View file

@ -6,7 +6,7 @@ Install the MySQL client and/or server
Available states
----------------
``mysql``
``mysql.client``
Install the MySQL client package.
``mysql.server``
Install the MySQL server package and start the service.

6
mysql/client.sls Normal file
View file

@ -0,0 +1,6 @@
{% from "mysql/package-map.jinja" import pkgs, services with context %}
mysql:
pkg:
- installed
- name: {{ pkgs['mysql-client'] }}

View file

@ -1,9 +0,0 @@
{% set pkg = salt['grains.filter_by']({
'Debian': {'name': 'mysql-client'},
'RedHat': {'name': 'mysql'},
}) %}
mysql:
pkg:
- installed
- name: {{ pkg.name }}

36
mysql/package-map.jinja Normal file
View file

@ -0,0 +1,36 @@
{% set package_table = {
'Debian': {'mysql-server': 'mysql-server',
'mysql-client': 'mysql-client'},
'Ubuntu': {'mysql-server': 'mysql-server',
'mysql-client': 'mysql-client'},
'CentOS': {'mysql-server': 'mysql-server',
'mysql-client': 'mysql'},
'Fedora': {'mysql-server': 'mysql-server',
'mysql-client': 'mysql'},
'RedHat': {'mysql-server': 'mysql-server',
'mysql-client': 'mysql'},
'Gentoo': {'mysql-server': 'dev-db/mysql',
'mysql-client': 'dev-db/mysql'},
} %}
{% if 'package_table' in pillar %}
{% set pkgs = pillar['package_table'] %}
{% elif grains['os'] in package_table %}
{% set pkgs = package_table[grains['os']] %}
{% endif %}
{% set service_table = {
'Debian': {'mysql': 'mysql'},
'Ubuntu': {'mysql': 'mysql'},
'CentOS': {'mysql': 'mysqld'},
'Fedora': {'mysql': 'mysqld'},
'RedHat': {'mysql': 'mysqld'},
'Gentoo': {'mysql': 'mysql'}
} %}
{% if 'service_table' in pillar %}
{% set services = pillar['service_table'] %}
{% elif grains['os'] in service_table %}
{% set services = service_table[grains['os']] %}
{% endif %}

View file

@ -1,24 +1,12 @@
include:
- mysql
{% set pkg = salt['grains.filter_by']({
'Debian': {
'name': 'mysql-server',
'service': 'mysql',
},
'RedHat': {
'name': 'mysql-server',
'service': 'mysqld',
},
}) %}
{% from "mysql/package-map.jinja" import pkgs, services with context %}
mysqld:
pkg:
- installed
- name: {{ pkg.name }}
- name: {{ pkgs['mysql-server'] }}
service:
- running
- name: {{ pkg.service }}
- name: {{ services['mysql'] }}
- enable: True
require:
- pkg: mysql
- watch:
- pkg: mysqld