Kill create_cluster pillar switch, refs: #100
It is just a variant of init_db. A more correct solution would be to support configuring a different initdb command while passing values from the pillar by default like version. This would make it truly generic but is probably not achievable given current pillar self-referencing capabilities (ie. none). Thus, I decided to make it OS family specific since Debian provides its own tools to manage clusters, etc. Gentoo also has a specific way to initialize a new cluster which does not fit with commands.initdb so the current if/elif would be extended when support is added for Gentoo.
This commit is contained in:
@@ -8,8 +8,6 @@ postgres:
|
||||
service: postgresql
|
||||
conf_dir: /var/lib/pgsql/data
|
||||
data_dir: /var/lib/pgsql/data
|
||||
create_cluster: False
|
||||
init_db: False
|
||||
version: 9.1
|
||||
use_upstream_repo: False
|
||||
users: {}
|
||||
@@ -19,9 +17,10 @@ postgres:
|
||||
postgresconf_backup: True
|
||||
postgresconf: ""
|
||||
pg_hba.conf: salt://postgres/pg_hba.conf
|
||||
commands:
|
||||
initdb: service postgresql initdb
|
||||
initdb: True
|
||||
initdb_user: root
|
||||
initdb_args: --data-checksum
|
||||
commands:
|
||||
initdb: service postgresql initdb
|
||||
user: postgres
|
||||
group: postgres
|
||||
|
||||
@@ -28,34 +28,18 @@ postgresql-installed:
|
||||
# make sure the data directory and contents have been initialized
|
||||
postgresql-cluster-prepared:
|
||||
cmd.run:
|
||||
- cwd: /
|
||||
{% if postgres.create_cluster != False %}
|
||||
- user: root
|
||||
- name: pg_createcluster {{ postgres.version }} main
|
||||
{% else %}
|
||||
- name: test -f {{ postgres.conf_dir }}/environment
|
||||
{% endif %}
|
||||
- unless:
|
||||
- test -f {{ postgres.conf_dir }}/environment
|
||||
- require:
|
||||
- pkg: postgresql-installed
|
||||
- env:
|
||||
LC_ALL: C.UTF-8
|
||||
|
||||
postgresql-db-prepared:
|
||||
cmd.run:
|
||||
{% if postgres.init_db != False %}
|
||||
- user: {{ postgres.initdb_user }}
|
||||
{% if postgres.initdb %}
|
||||
- name: {{ postgres.commands.initdb }} {{ postgres.initdb_args }} -D {{ postgres.data_dir }}
|
||||
|
||||
{% else %}
|
||||
- name: test -f {{ postgres.data_dir }}/PG_VERSION
|
||||
{% endif %}
|
||||
{% elif grains.os_family == 'Debian' %}
|
||||
- name: pg_createcluster {{ postgres.version }} main
|
||||
{# else: TODO #}
|
||||
{% endif %}
|
||||
- cwd: /
|
||||
- user: {{ postgres.initdb_user }}
|
||||
- unless:
|
||||
- test -f {{ postgres.data_dir }}/PG_VERSION
|
||||
- require:
|
||||
- pkg: postgresql-installed
|
||||
- cmd: postgresql-cluster-prepared
|
||||
- env:
|
||||
LC_ALL: C.UTF-8
|
||||
|
||||
@@ -67,7 +51,6 @@ postgresql-running:
|
||||
- reload: true
|
||||
- require:
|
||||
- cmd: postgresql-cluster-prepared
|
||||
- cmd: postgresql-db-prepared
|
||||
|
||||
{% if postgres.pkgs_extra %}
|
||||
postgresql-extra-pkgs-installed:
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
RedHat:
|
||||
init_db: True
|
||||
initdb_user: postgres
|
||||
commands:
|
||||
initdb: initdb
|
||||
initdb_user: postgres
|
||||
pkg: postgresql-server
|
||||
pkg_client: postgresql
|
||||
pkg_repo: pgdg94
|
||||
@@ -10,7 +9,6 @@ RedHat:
|
||||
Arch:
|
||||
conf_dir: /var/lib/postgres/data
|
||||
data_dir: /var/lib/postgres/data
|
||||
init_db: True
|
||||
initdb_user: postgres
|
||||
commands:
|
||||
initdb: initdb --locale en_US.UTF8 -E UTF8 -D "/var/lib/postgres/data"
|
||||
@@ -19,11 +17,11 @@ Arch:
|
||||
Debian:
|
||||
pkg_repo_file: /etc/apt/sources.list.d/pgdg.list
|
||||
pkg_libpq_dev: libpq-dev
|
||||
initdb: False
|
||||
Suse:
|
||||
init_db: True
|
||||
initdb_user: postgres
|
||||
commands:
|
||||
initdb: initdb
|
||||
initdb_user: postgres
|
||||
pkg: postgresql-server
|
||||
pkg_client: postgresql
|
||||
FreeBSD:
|
||||
|
||||
Reference in New Issue
Block a user