From a58f153fb16dc78be3c92a9558e5946184394273 Mon Sep 17 00:00:00 2001 From: Will Saxon Date: Wed, 31 Dec 2014 16:58:41 -0500 Subject: [PATCH] Remove duplication in map.jinja This change addresses #26 by consolidating Ubuntu and Debian configuration back under the 'Debian' os_family grain. The main difference between the various Ubuntu and Debian versions is the version of postgresql in use; package/service names and directory patterns are identical. This change separates the version number into its own pg_version dictionary, which is used as needed by the postgres dictionary. --- postgres/map.jinja | 102 +++++++++++++++++++-------------------------- 1 file changed, 42 insertions(+), 60 deletions(-) diff --git a/postgres/map.jinja b/postgres/map.jinja index f5b17c4..4ec03fe 100644 --- a/postgres/map.jinja +++ b/postgres/map.jinja @@ -1,66 +1,48 @@ +{% set pg_version = salt['grains.filter_by']({ + 'RedHat' : { 'id': '9.1' }, + 'Arch' : { 'id': '9.1' }, + 'Debian' : { 'id': '9.3' }, +}, merge=salt['grains.filter_by']({ + '14.04' : { 'id': '9.3' }, + '14.10' : { 'id': '9.4' }, +}, grain='lsb_distrib_release', merge=salt['grains.filter_by']({ + 'jessie' : { 'id': '9.4' }, + 'wheezy' : { 'id': '9.1' }, +}, grain='lsb_distrib_codename', merge=salt['pillar.get']('postgres:lookup')))) %} + {% set postgres = salt['grains.filter_by']({ 'RedHat': { - 'pkg': 'postgresql-server', - 'pkg_dev': 'postgresql-devel', - 'pkg_libpq_dev': 'postgresql-libs', - 'python': 'python-psycopg2', - 'service': 'postgresql', - 'conf_dir': '/var/lib/pgsql/data', - 'create_cluster': False, - 'init_db': True, - 'version': '9.1', + 'pkg' : 'postgresql-server', + 'pkg_dev' : 'postgresql-devel', + 'pkg_libpq_dev' : 'postgresql-libs', + 'python' : 'python-psycopg2', + 'service' : 'postgresql', + 'conf_dir' : '/var/lib/pgsql/data', + 'create_cluster' : False, + 'init_db' : True, + 'version' : pg_version.id, }, 'Arch': { - 'pkg': 'postgresql', - 'pkg_dev': 'postgresql-devel', - 'pkg_libpq_dev': 'postgresql-libs', - 'python': 'python-psycopg2', - 'service': 'postgresql', - 'conf_dir': '/var/lib/pgsql/data', - 'create_cluster': False, - 'init_db': True, - 'version': '9.1', + 'pkg' : 'postgresql', + 'pkg_dev' : 'postgresql-devel', + 'pkg_libpq_dev' : 'postgresql-libs', + 'python' : 'python-psycopg2', + 'service' : 'postgresql', + 'conf_dir' : '/var/lib/pgsql/data', + 'create_cluster' : False, + 'init_db' : True, + 'version' : pg_version.id, }, -}, merge=salt['grains.filter_by']({ - '14.04': { - 'pkg': 'postgresql', - 'pkg_dev': 'postgresql-server-dev-9.3', - 'conf_dir': '/etc/postgresql/9.3/main', - 'service': 'postgresql', - 'create_cluster': False, - 'version': '9.3', + 'Debian': { + 'pkg' : 'postgresql', + 'pkg_dev' : 'postgresql-server-dev-' + pg_version.id, + 'pkg_libpq_dev' : 'libpq-dev', + 'python' : 'python-pygresql', + 'service' : 'postgresql', + 'pg_hba' : '/etc/postgresql/' + pg_version.id + '/main/pg_hba.conf', + 'conf_dir' : '/etc/postgresql/' + pg_version.id + '/main', + 'create_cluster' : False, + 'init_db' : False, + 'version' : pg_version.id, }, - '14.10': { - 'pkg': 'postgresql', - 'pkg_dev': 'postgresql-server-dev-9.4', - 'conf_dir': '/etc/postgresql/9.4/main', - 'service': 'postgresql', - 'create_cluster': False, - 'version': '9.4', - }, -}, grain='lsb_distrib_release', merge=salt['grains.filter_by']({ - 'jessie': { - 'pkg': 'postgresql-9.4', - 'pkg_dev': 'postgresql-server-dev-9.4', - 'pkg_libpq_dev': 'libpq-dev', - 'python': 'python-pygresql', - 'service': 'postgresql', - 'pg_hba': '/etc/postgresql/9.4/main/pg_hba.conf', - 'conf_dir': '/etc/postgresql/9.4/main', - 'create_cluster': False, - 'init_db': False, - 'version': '9.4', - }, - 'wheezy': { - 'pkg': 'postgresql-9.1', - 'pkg_dev': 'postgresql-server-dev-9.1', - 'pkg_libpq_dev': 'libpq-dev', - 'python': 'python-pygresql', - 'service': 'postgresql', - 'pg_hba': '/etc/postgresql/9.1/main/pg_hba.conf', - 'conf_dir': '/etc/postgresql/9.1/main', - 'create_cluster': False, - 'init_db': False, - 'version': '9.1', - }, -}, grain='lsb_distrib_codename', merge=salt['pillar.get']('postgres:lookup')))) %} +}, merge=salt['pillar.get']('postgres:lookup')) %}