Commit graph

99 commits

Author SHA1 Message Date
Colleen Murphy
6ba3179916 Fix data directory handling
The change introduced in b781849882 added
a complex operation that was not handled correctly for all operating
systems. This fix includes the following corrections:

- Change the systemd config and reload systemd for datadir changes in
  RHEL 7, and move configuration for this into
  postgresql::server::config since it is managing both the PGDATA and
  PGPORT variables
- Make sure Debian systems stop the service before changing the datadir
- Recreate cert links after running initdb in Debian and early ubuntu
- Change the port in the port spec to avoid selinux issues
- Turn off selinux in pgdata spec to avoid selinux issues
- Correct syntax for describing presence of a directory in pgdata spec
- Move the pgdata spec to the end of the tests so that puppet doesn't
  have to manager purging and recreating the original datadir
- Update README to describe all caveats of using this parameter
2014-10-31 16:03:15 -07:00
Morgan Haskel
e3b6c5e79b Merge pull request #502 from aswen/typos
Fix some typo's in Readme and specfile.
2014-10-02 12:22:30 -05:00
Morgan Haskel
b9d0377029 Merge pull request #503 from petehayes/master
Fixed description for schema example
2014-10-02 12:21:49 -05:00
Hunter Haugen
eb96a85873 Merge pull request #506 from learningobjectsinc/doc-fix-login-default
$login parameter in server/role.pp defaults to true. doc says false.
2014-10-02 10:21:08 -07:00
Christian Kaenzig
677b3c4d94 Add some missing params documentation
Copy 'owner' from postgresql::server::database to
postgresql::server::db and adding 'template' to both
(based on the createdb man page).
2014-09-25 15:22:55 +02:00
tobyw4n
56db66b1fa $login parameter in server/role.pp defaults to true 2014-09-22 13:39:38 -07:00
Peter Hayes
029ec9fcf3 Fixed description for schema example
The schema example referenced isolated as the namevar but in the description it said that the schema jane would be created.  Fixed by updating description to say schema named isolated will be created.
2014-09-16 09:43:12 -04:00
Alexander Swen
1fa55ca823 Fix some typo's in Readme and specfile. 2014-09-12 15:03:39 +02:00
Ashley Penney
f38f75e018 Merge pull request #459 from holguinj/linkfix
doc: Fix anchor links in README TOC
2014-08-28 13:48:13 -04:00
Ashley Penney
0dc4729d55 Merge pull request #458 from stdietrich/pg_ident_doc_fix
Add correct documentation for pg_ident_rule type
2014-08-28 13:48:00 -04:00
Hunter Haugen
532047919a Remove firewall management
The firewall management really belongs outside of the module that
manages postgresql, like in a profile.
2014-08-21 11:12:23 -07:00
Ashley Penney
7b1147f4fa Merge pull request #450 from jantman/MODULES-1213
MODULES-1213 link pg_config binary into /usr/bin if not already in /usr/bin or /usr/local/bin
2014-08-07 13:11:16 -04:00
Hunter Haugen
f0da02cb7a Manage pg_ident.conf by default 2014-07-30 13:55:20 -07:00
Justin Holguin
a8f71abf83 doc: Fix anchor links in README TOC
Several of the anchor links in the README's table of contents were
broken because of missing underscores.
2014-07-30 10:44:16 -07:00
Hunter Haugen
03a51599b1 Merge pull request #456 from igalic/schema
defined type for creating database schemas
2014-07-29 08:05:22 -07:00
Stefan Dietrich
2c6640b71a Add correct documentation for pg_ident_rule type 2014-07-28 22:16:40 +02:00
txaj
bf328c870b Set manage_pg_ident_conf to false for backward compatibility
I'd like to see this patch included ASAP -- the desirable default could
be manage_pg_ident_conf => true, but one could already manage this file
manually : we don't want to wipe it.

Please switch the default from false to true at the next major release
and write a line about this in the release notes.
2014-07-28 13:00:21 -05:00
txaj
e2b0bdd26f Create the pg_ident_rule defined type
This allows us to declare user map as easilly as pg_hba entries.
2014-07-26 17:14:51 -05:00
Igor Galić
578c527a34 doc: use postgresql::*server*::tablespace in example 2014-07-25 17:14:13 +02:00
Igor Galić
324c291b3f defined type for creating database schemas
This defined type helps create database schemas, and assign them to an
`owner`. It is closely modeled after Postgresql::Server::Tablespace.
It uses PostgreSQL's builtin IF NOT EXISTS to guarantee idempotency.
(>= 9.3, else it checks pg_namespace).

n.b.: This defined type *requires* that a `db` is passed. This is a
concious design decision, since we find it rather useless to create such
schemas in the default `postgres` database, and if *were* useful, one
can always "over-specify".

This addresses MODULES-1098.
2014-07-25 17:10:40 +02:00
Ashley Penney
e2f5015207 Merge 3.4.x changes into master. 2014-07-25 09:31:00 -04:00
Jason Antman
3e5a2c8dc7 MODULES-1213 link pg_config binary into /usr/bin if not already in /usr/bin or /usr/local/bin 2014-07-14 09:59:37 -04:00
Ashley Penney
58fe218e91 Remove the ensure => absent uninstall code.
This is likely to be a controversial change so I wanted to put some
explanation of our reasoning into the commit message.  This gets
kind of complex so I'll start with the problem and then the reasoning.

Problem:

We rely heavily on the ability to uninstall and reinstall postgres
throughout our testing code, testing features like "can I move from the
distribution packages to the upstream packages through the module" and
over time we've learnt that the uninstall code simply doesn't work a lot
of the time.  It leaves traces of postgres behind or fails to remove
certain packages on Ubuntu, and generally causes bits to be left on your
system that you didn't expect.

When we then reinstall things fail because it's not a true clean slate,
and this causes us enormous problems during test.  We've spent weeks and
months working on these tests and they simply don't hold up well across
the full range of PE platforms.

Reasoning:

Due to all these problems we've decided to take a stance on uninstalling
in general.  We feel that in 2014 it's completely reasonable and normal
to have a good provisioning pipeline combined with your configuration
management and the "correct" way to uninstall a fully installed service
like postgresql is to simply reprovision the server without it in the
first place.  As a general rule this is how I personally like to work
and I think is a good practice.

WAIT A MINUTE:

We understand that there are environments and situations in which it's
not easy to do that.  What if you accidently deployed Postgres on
100,000 nodes?  When this work is finished I'm going to take a look at
building some example 'profiles' to be found under examples/ within this
module that can uninstall postgres on popular platforms.  These can be
modified and used in your specific case to uninstall postgresql.  They
will be much more brute force and reliant on deleting entire directories
and require you to do more work up front in specifying where things are
installed but we think it'll prove to be a much cleaner mechanism for
this kind of thing rather than trying to weave it into the main module
logic itself.
2014-07-12 12:15:42 -04:00
Ashley Penney
5735eea1ac Add workaround for selinux. 2014-06-24 11:11:03 -04:00
Ashley Penney
d37a2216eb Merge pull request #408 from fredj/readme-typo
Fix wrong config option in README
2014-05-22 19:15:26 -07:00
Ashley Penney
bd1eec24d0 Merge branch '3.3.x' into merge33x 2014-05-13 21:08:41 +02:00
Ashley Penney
5e33409342 Add service_ensure.
This allows you to control the status of the Postgresql service directly
from postgresql::server.
2014-05-08 16:43:22 -04:00
Hunter Haugen
21001d5b0c (MODULES-630) Deprecate postgresql::server::version
Adjusting the version is explicitly done though the postgresql::globals
class, as this affects many parts of the module. This parameter did not
function correctly on systems that did not have a default, as described
in the ticket.
2014-05-07 15:25:18 -07:00
Frederic Junod
4f98f77fc8 Fix wrong config option 2014-04-30 11:17:47 +02:00
Björn Häuser
6f5bd1aa4e Fix how to run the acceptance tests 2014-04-24 22:10:18 +02:00
Brian Almeida
86f2950248 Add support for port parameter to postgresql::server, fix underlying assumptions that port=5432 2014-04-17 15:09:07 -04:00
Casey Feskens
9e60640bd9 Add class postgresql::lib::perl for perl support 2014-04-04 06:13:30 -07:00
Ashley Penney
0adbcfb64f Merge pull request #280 from 3dna/feature/postgis
postgis support
2014-04-02 09:31:03 -04:00
Ashley Penney
d8875983c9 Merge pull request #395 from thunderkeys/postgresql-server-role-inherit-support
Postgresql server role inherit support
2014-04-02 07:30:20 -04:00
Jeremy Kitchen
c4bca511e9 add support for postgis
rhel support added by @mcanevet, but the branch has been squashed.
thanks!
2014-03-31 21:40:01 +00:00
Pieter Lexis
dcdc7c8f5a Allow the ex- and import of postgresql::server::db 2014-03-27 16:49:48 +01:00
Brian Almeida
0ee337bff2 Add documentation on inherit parameter to README.md 2014-03-24 11:22:41 -04:00
Lauren Rother
fabcb78e3c Add install instructions for supported module version
Adds a section to Setup for PE 3.2 users wanting to use the supported vs. shipped version of this module.
2014-03-03 12:36:07 -08:00
Ashley Penney
5616cf8a09 Ensure we call out the locales-all requirement. 2014-02-28 17:34:39 -05:00
Ashley Penney
301715b8a9 Merge pull request #256 from mnencia/patch-3
Add support to custom xlogdir parameter
2014-01-21 14:24:10 -08:00
irconan
44bf1bbb32 Update README.md
Fixed typo "inidb_path" -> "initdb_path"
2014-01-21 13:17:16 +00:00
Magnus Hagander
ccd2a50701 Fix typo, clearly from a copy/paste mistake 2014-01-17 15:47:29 +01:00
Dejan Golja
6612fa28bb Missing service_provider description and wrong service_name description for postgresql::globals class 2013-12-24 13:09:12 +11:00
Aaron Blew
ce467633d1 Added xlogdir test to basic install/db creation validation test. Updated README 2013-12-15 12:54:53 +01:00
Ken Barber
e45d909313 Merge pull request #301 from dawik/master
Spelling and redundancy fix in README
2013-10-31 05:45:49 -07:00
Dejan Golja
286762e98c Misspelled class postgresql::globals (missing ending 's' in some cases) 2013-10-31 13:51:16 +11:00
Dejan Golja
2b6cc9a558 Added missing depedenncy '->' in the Class: postgresql::globals usage example 2013-10-31 13:41:08 +11:00
David Wikmans
57f3f09a1d Spelling and redundancy fix in README 2013-10-30 20:27:12 +01:00
Reid Vandewiele
cdf5b077fe Add globals/params layering for default_database
This makes the variable consistent with the manner in which most/all of
the rest of the postgresql module currently works.

Commit also adds the new param to the README file.
2013-10-26 17:56:48 -07:00
Ken Barber
5df36cf1f7 (GH-198) Fix race condition on postgresql startup
This patch is a fix for the race condition that keeps occuring during
postgresql setup. Its very rare on its own, but when you are using this
module in a CI environment it happens quite frequently.

Basically what happens is that sometimes the service will announce the
database has started, but really it is still working in the background.
Sometimes the unix socket may not be listening, and sometimes the
system is still loading and you get a weird client error.

The fix itself is a modification to postgresql::validate_db_connection
so that it is able to connect on the local unix socket, plus retry
until the database is available.

This new and improved validate_db_connection can then be put into the
build pipeline (in the service class in particular) to ensure the
database is started before continuing on with the remaining steps.

This in effect blocks the puppet module from continuing until the
postgresql database is fully started and able to receive connections
which is perfect.

Tests and documentation provided.

Signed-off-by: Ken Barber <ken@bob.sh>
2013-10-24 00:33:45 +01:00