Commit graph

406 commits

Author SHA1 Message Date
Ashley Penney
53ce9110d7 Merge pull request #414 from lucas42/patch-1
Support Debian Jessie
2014-06-05 13:35:31 -04:00
Ashley Penney
e137cd2d40 Merge pull request #419 from mcanevet/fix/unknown_postgis_version
Set fallback postgis_version to undef so that catalog still compiles if d...
2014-06-05 13:33:56 -04:00
Ashley Penney
8db4a0cf67 Fix Ubuntu 14.04 tests for now.
This doesn't fix the root cause of the issue, such as the fact that
dpkg can't do wildcard removals, and the uninstall fails when you're
passing in a version number like this, but THIS test doesn't care, it
just wants to make sure the deprecation warning appears in the first
place.

This does however make the tests pass on 14.04.
2014-06-03 13:21:45 -04:00
Clayton O'Neill
6e55b9bbb3 Ensure db user exists before validating db connection
The validate_db_connection class takes a user to connect as, but if we're
using the progresql::server::db defined type then the user might not be
created yet, and might not have any permissions granted yet.  This patch
users a collector to ensure that the that the user and grants are active
before validating.
2014-05-23 17:05:17 -04:00
William Van Hevelingen
fee21d858d Change selector statements to have default listed last
As per the official docs "the default case must be at the end of the list."
http://docs.puppetlabs.com/puppet/latest/reference/lang_conditional.html#selectors

This commit fixes breakage in Puppet 3.6.0 where it enforces the behavior
described above when Future parser is enabled.

See https://tickets.puppetlabs.com/browse/PUP-2642
2014-05-22 15:30:55 -07:00
Mickaël Canévet
3545865302 Set falback postgis_version to undef so that catalog still compiles if default postgresql version is unknown 2014-05-20 11:32:18 +02:00
Ashley Penney
d8fec75635 Merge pull request #409 from mnencia/patch-1
Update apt.postgresql.org key url
2014-05-18 08:02:52 -07:00
Ashley Penney
246725cfb9 Fix postgis so it installs the approprate RHEL5 package.
In RHEL5 the package was just named 'postgis' in the external repos,
rather than postgis$package_version.
2014-05-13 20:24:28 +02:00
Morgan Haskel
906794d3ce '!' binds before 'and'.
This caused the repo not to be included on RHEL5 and added extra failures.
2014-05-13 10:54:09 -04:00
Ashley Penney
ff59d421f9 See if this fixes puppet 2.7. 2014-05-13 00:52:29 +02:00
Ashley Penney
192ea5e3f3 Fix service_ensure.
We now test if service_ensure is 'running' or 'stopped' but it was
actually picking up the default value of ensure in params.pp which
was true, not present.

Fix this and thereby fix the failing test.
2014-05-12 23:34:25 +02:00
Ashley Penney
c00b47f220 Restructure the tests here to be cleaner. 2014-05-12 23:28:18 +02:00
Luke Blaney
375308a12d Support Debian Jessie 2014-05-11 23:24:36 +01:00
Ashley Penney
a8705e2cb2 Fix RHEL5 service stopping.
On RHEL5 a service stop returns a 1 instead of 0 if the thing is already
stopped, so we now check the status first before attempting to stop.
2014-05-10 16:57:29 +02:00
Ashley Penney
74039db1a1 Add an entry for RHEL5. 2014-05-10 02:14:27 +02:00
Ashley Penney
4334dc7bd9 Stop postgresql before changing port. 2014-05-09 15:28:00 -04:00
Richard Clark
25b11a2e6b tag postgresql-jdbc package to fix package repo dependency 2014-05-09 14:01:15 +01:00
Ashley Penney
6bf896fa34 Switch to 'running'/'stopped' to match the test below. 2014-05-08 19:50:11 -04:00
Ashley Penney
4e002d7fd9 Make sure we continue working post 7.0. 2014-05-08 16:52:04 -04:00
Ashley Penney
5488821ce6 Ensure we've always started postgresql at least once before a reload. 2014-05-08 16:47:37 -04:00
Ashley Penney
a575884908 Ensure repo is in place before postgis installation.
We need to make sure we've actually setup the repo before installing
postgis.
2014-05-08 16:47:10 -04:00
Ashley Penney
3e3fa8cab1 Handle ports for systemd.
This is a terrible hack currently but it appropriately handles systemd.
2014-05-08 16:46:39 -04:00
Ashley Penney
d010bc8c7f This doesn't exist on RHEL7. 2014-05-08 16:46:09 -04:00
Ashley Penney
5323054ddc Update for RHEL7.
Block RHEL7 from pulling in the PostgreSQL repos from upstream as they
don't exist yet.
2014-05-08 16:44:53 -04: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
Marco Nenciarini
192c8073ff Update apt.postgresql.org key url
Accordingly to http://wiki.postgresql.org/wiki/Apt the correc key_source url is https://www.postgresql.org/media/keys/ACCC4CF8.asc

Today the old file was removed, so it's urgent to update this file and made a new release
2014-04-30 12:42:46 +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
Ashley Penney
3d73e7fe7f Merge pull request #372 from jhoblitt/feature/pg_hba.conf-ownership
change pg_hba.conf to be owned by postgres user account
2014-04-17 13:31:04 -04:00
Ashley Penney
a29d038287 Merge pull request #401 from cfeskens/add-perl-support
Add class postgresql::lib::perl for perl support
2014-04-17 13:27:00 -04:00
Mickaël Canévet
0b7bb333d8 Fix strict_variables issues 2014-04-08 17:37:29 +02: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
ad083d0e4d Add support to postgresql::server::role for INHERIT/NOINHERIT 2014-03-24 11:19:12 -04:00
Geoff Garside
688b0aa3fc Replace psql_db => $user with $default_database.
On FreeBSD systems the $user variable is not 'postgres' so does not
match the default database correctly. These changes use the existing
default_database parameter to replace instances where $user is passed as
the database to be connected to.

These changes are in server::database, server::role and
server::grant.
2014-03-10 09:26:28 +00:00
Geoff Garside
3896baeabb Change validate_postgresql_connection.sh exec PATH
FreeBSD needs /usr/local/bin in PATH in order to find bash. This does
require that the node has the bash port installed. It might be desired
that a separate script was provided for FreeBSD which used its /bin/sh,
this could be done by changing the for loop in the script to use

    for c in $(jot $TRIES)

in place of

    for (( c=1; c<=$TRIES; c++ ))
2014-03-10 09:20:36 +00:00
Geoff Garside
8f89ffaf06 Update FreeBSD $confdir to defer to $datadir
This matches the behaviour of most of the other operating systems
configurations.
2014-03-10 09:19:52 +00:00
Geoff Garside
3225a889e6 Move params::{user,group} to be set under osfamily
Allows for OS specific $user and $group value specification. For most of
the target operating systems these will both be 'postgres'. For FreeBSD
however these values are 'pgsql'.
2014-03-10 09:17:10 +00:00
Joshua Hoblitt
d49939014c change pg_hba.conf to be owned by postgres user account
At present, the ownership of pg_hba.conf is hardwired to be uid 0.  It should have the same ownership as all of the other postgressql configuration files in the same cluster so that they can be managed/edited by the postgres role user (system) account.
2014-02-27 11:38:20 -07:00
Hunter Haugen
f82cc79b86 Merge branch 'master' into 3.3.x 2014-02-24 16:12:39 -08:00
Justin Stoller
c246bbbc8d remove trailing whitespace 2014-02-14 12:32:57 -08:00
Igor Galić
828c3b99d2 use fully-qualified path to psql to set password
When setting the a user's password, use the fully qualified path to the
psql binary. This should fix #359
2014-02-13 11:53:41 +01:00
Ashley Penney
139ca0a542 Merge pull request #327 from xaque208/freebsdsupport
(feat) Add FreeBSD Support
2014-01-21 15:03:05 -08:00
Ashley Penney
8d7bf05796 Merge pull request #325 from aadamovich/patch-2
$postgresql::server::client_package_name is referred from install.pp, bu...
2014-01-21 14:36:11 -08:00
Ashley Penney
4409dbc4b2 Merge pull request #324 from aadamovich/patch-1
Wrong parameter name: manage_pg_conf -> manage_pg_hba_conf
2014-01-21 14:35:35 -08:00
Ashley Penney
0bb214d1be Merge pull request #317 from hubspotdevops/validate_db_connection_float
Prevent float of defined resource.
2014-01-21 14:32:19 -08: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
Axel Bock
6f99380a8b fix for concat error 2014-01-09 17:39:57 +01:00
Brandon Wamboldt
694c3ffbf7 Fix NOREPLICATION option for Postgres 9.1
Fixing a bug when using this module with Postgresql 9.1 that causes alter role statements to execute during every apply.
2013-12-20 13:09:42 -04:00
Marco Nenciarini
2b81d5cb63 Add support to custom xlogdir parameter
Having a custom xlogdir location is desiderable for performances in many production environments
2013-12-14 23:55:24 +01:00
Zach Leslie
37fecaf929 (feat) Add FreeBSD Support
This adds the paramaters needed for the module to function on FreeBSD.
2013-12-08 11:23:43 -08:00
aadamovich
02c0184f58 $postgresql::server::client_package_name is referred from install.pp, but is not defined in server.pp 2013-12-04 21:12:40 +01:00
aadamovich
0e1fa6f8b2 Wrong parameter name: manage_pg_conf -> manage_pg_hba_conf 2013-12-04 21:09:56 +01:00
Ashley Penney
0796eb9fc6 Merge pull request #311 from kronn/patch-1
Remove deprecated and unused parameters to concat::fragment
2013-11-20 11:01:47 -08:00
Ashley Penney
68ac871e8b Merge pull request #309 from leehanel/master
add lc_* config entry settings
2013-11-20 08:57:02 -08:00
Ashley Penney
fdf5f04351 Merge pull request #313 from hubspotdevops/initdb_order
Exec['postgresql_initdb'] needs to be done after $datadir exists
2013-11-19 13:56:23 -08:00
Ken Barber
c114885a04 Merge pull request #310 from mcanevet/table_grant_fix
Fix table_grant_spec to show a bug
2013-11-15 08:40:16 -08:00
Mickaël Canévet
4cd64e80ac Add missing privileges 2013-11-15 15:20:15 +01:00
Mickaël Canévet
1ce75d5bc8 Fix granting all privileges on a table 2013-11-14 18:17:23 +01:00
Mickaël Canévet
f0924df7c8 Can pass template at database creation 2013-11-14 18:01:30 +01:00
Tom McLaughlin
bac4b87a8d Prevent float of defined resource. 2013-11-13 15:30:58 -05:00
Tom McLaughlin
05eaaa1670 Should have had cofee before doing this commit... 2013-11-13 10:17:25 -05:00
Tom McLaughlin
99a1e03154 Exec['postgresql_initdb'] needs to be done after $datadir exists 2013-11-13 08:59:39 -05:00
Matthias Viehweger
673838c3d8 Remove deprecated and unused parameters to concat::fragment
The warnings are as follows:

Warning: Scope(Concat::Fragment[pg_hba_rule_deny access to postgresql user]): The $mode parameter to concat::fragment is deprecated and has no effect
Warning: Scope(Concat::Fragment[pg_hba_rule_deny access to postgresql user]): The $owner parameter to concat::fragment is deprecated and has no effect
2013-11-12 16:36:53 +01:00
leehanel
b706edff9b add lc_* config entry settings 2013-11-08 09:09:03 -06:00
Ken Barber
3476828518 Merge pull request #298 from reidmv/allow_specification_of_default_db_name
Allow specification of default database name
2013-10-27 17:30:41 -07:00
Kamil Szymanski
c1b67d3c0f Add default PostgreSQL version for Ubuntu 14.04 2013-10-27 19:17:22 +00:00
Reid Vandewiele
b4a855c331 Use default_database in validate_db_connection
This commit modifies postgresql::validate_db_connection to use the
default_database parameter from postgresql::params rather than
hard-coding a local default value of "postgres".
2013-10-26 17:56:53 -07: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
Reid Vandewiele
6afb4a0367 Allow specification of default database name
E.g. pe-postgresql does NOT use postgres as the default database name.
It uses pe-postgres. So if there is no way to specify a default database
name, the postgesql::validate_db_connection resource in
postgresql::server::service will ALWAYS fail. This commit exposes the
parameter in order to avoid that situation.
2013-10-26 16:33:36 -07:00
Kamil Szymanski
9d1543bd44 Add default PostgreSQL version for Ubuntu 13.10 2013-10-26 11:25:33 +02:00
Ashley Penney
74ff9572d2 Merge pull request #292 from kbarber/ticket/master/GH-198-race_condition_on_startup
(GH-198) Fix race condition on startup
2013-10-24 20:34:52 -07:00
Ken Barber
2b697c10f9 Use main psql path and cleanup old packages properly
Signed-off-by: Ken Barber <ken@bob.sh>
2013-10-25 03:01:02 +02:00
Ashley Penney
ff35c0e115 Merge pull request #264 from bcomnes/fed17fix
Defined $default_version for Fedora 17
2013-10-23 16:40:08 -07:00
Ken Barber
ef45251a31 Provide a greater timeout for slower systems
Signed-off-by: Ken Barber <ken@bob.sh>
2013-10-24 00:33:46 +01:00
Ken Barber
acabbbf530 Remove concat::setup for include
Since the class is now throwing an error when you use the class directly,
I'm just removing it.

We left this in from the last rewrite as someone reported an issue a long
time ago, but alas we have been unable to prove its a problem.

Signed-off-by: Ken Barber <ken@bob.sh>
2013-10-24 00:33:45 +01: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
cdenneen
81dbea2ec5 fixed typo 2013-10-23 13:45:44 -04:00
cdenneen
ab5c177b76 Update server.pp
add require of install to reload class
2013-10-23 12:58:25 -04:00
Ken Barber
f021ef3cdb Merge pull request #286 from jalli/master
Add zero length string to join() function
2013-10-23 04:59:11 -07:00
Jarl Stefansson
017d134188 Add zero length string to join() function
The stdlib join() function takes an array and a string as parameters, it then joins all the elements of the array using the string as a separator.
On Centos 6.4 the join() function fails if given just an array but not a string.
2013-10-19 12:04:04 -04:00
jonoterc
a93fcf850c enabling defined postgres user password without resetting on every puppet run (based on https://github.com/puppetlabs/puppetlabs-postgresql/issues/92) 2013-10-17 17:57:33 -04:00
Mickaël Canévet
6f614b0b37 Add a parameter to (un)manage pg_hba.conf 2013-10-16 14:58:08 +02:00
Marek Hulan
b784676c2e Expose owner in db definition 2013-10-10 17:34:26 +02:00
Ashley Penney
f28c355b26 Merge pull request #267 from neilnorthrop/master
fixed the rspec test to include 'sha1' in
2013-10-09 09:05:16 -07:00
Neil Northrop
f9e6046132 fixed the rspec test to include 'sha1' in 2013-10-04 15:14:10 -07:00
Bret Comnes
5e142cbeba Defined $default_version for Fedora 17
I have not actually tested this.  I based it off
of http://distrowatch.org/table.php?distribution=fedora

Closes #90
2013-10-02 14:27:46 -07:00
Bret Comnes
2718f14017 Special case for $datadir on Amazon
Closes #252
2013-10-02 12:48:44 -07:00
Marco Nenciarini
0cb71c7c5f Support apt.postgresql.org version specific packages.
This change will allow to test beta and release candidate version of
postgres from apt.postgresql.org.

For stable version this change will make available the libpq package
for that specific version (that will not hurts).
2013-09-25 18:01:07 +02:00
Ashley Penney
6ac2e25821 Merge pull request #249 from aboe76/master
Added Archlinux Support
2013-09-23 16:22:59 -07:00
Ashley Penney
5ac999b72c Merge pull request #251 from kamilszymanski/authentication_method_validation
Validate authentication method against server version
2013-09-23 12:19:28 -07:00
Niels Abspoel
1e3bcb73bb Added Archlinux Support 2013-09-23 20:08:17 +02:00
Kamil Szymanski
71e0236659 Validate authentication method against server version 2013-09-22 22:35:18 +02:00
Kamil Szymanski
480fc64f6b lint fixes 2013-09-21 19:45:35 +02:00
Ken Barber
891b1d71a2 Rename contrib to server::contrib
Signed-off-by: Ken Barber <ken@bob.sh>
2013-09-20 14:35:24 +01:00
Ken Barber
3ba3b6df54 Ensure proper removal of the client package
Signed-off-by: Ken Barber <ken@bob.sh>
2013-09-19 23:51:16 +01:00
Ken Barber
fa82eec94b Fix encoding issues for ubuntu
Signed-off-by: Ken Barber <ken@bob.sh>
2013-09-19 21:15:09 +01:00
Ken Barber
809003d0f9 serverspec + some cleanup
Signed-off-by: Ken Barber <ken@bob.sh>
2013-09-19 16:30:15 +01:00
Ken Barber
2876dacb94 Make sure $ensure is passed through to repo correctly
Signed-off-by: Ken Barber <ken@bob.sh>
2013-09-19 01:16:20 +01:00
Ken Barber
c8d3ecde14 Various cleanups
Signed-off-by: Ken Barber <ken@bob.sh>
2013-09-18 22:25:51 +01:00
Ken Barber
b9598796e0 Calculate default version for Fedora
Signed-off-by: Ken Barber <ken@bob.sh>
2013-09-18 00:05:14 +01:00
Ken Barber
cd2bc50cdf Fix repo removal for testing purposes
Signed-off-by: Ken Barber <ken@bob.sh>
2013-09-17 22:19:01 +01:00
Ken Barber
27c5cc0304 Provide package removal fixes for Debian tests
This patch provides fixes to help tests pass on Debian. The failures were in
relation to the lack of proper removal of the server and contrib parts. Setting
the ensure => purged parameter for removal seems to have solved a lot of this.

Also, the ordering for contrib being (un)installed needed some work.

I've also made sure we use 'purged' a lot more in tests to make sure we clean
up after ourselves properly.

Signed-off-by: Ken Barber <ken@bob.sh>
2013-09-14 06:39:17 +01:00
Ken Barber
a0a2a00a49 Fix debian 7 regexp, rename to default_version and some cleanup
Signed-off-by: Ken Barber <ken@bob.sh>
2013-09-14 06:39:17 +01:00
Ken Barber
7d84b6ac0e Add datadir back, as its used within a lot of tests
Signed-off-by: Ken Barber <ken@bob.sh>
2013-09-14 06:39:17 +01:00
Ken Barber
59c1cbfbf8 Major rewrite to solve order dependencies and unclear public API
This is a very very large change to the module. It started out as a fix to add
postgresl::server::config_entry, and quickly became a rewrite to fix a lot of
ordering issues inherent in the API.

Since this changes the Public API it is considered a backwards compatible
change.

See the upgrading guide in README.md for more details as to what has been
modified in this patch.

Signed-off-by: Ken Barber <ken@bob.sh>
2013-09-14 06:39:15 +01:00
Rahul Gopinath
20bdf10b72 Adding anchors around contained resources 2013-09-14 06:38:53 +01:00
Rahul Gopinath
1dce6454c8 Pulling in pgconf module from camptocamp/puppet-pgconf
This includes the following changes:
  - Hooking up pgconf module to postgresql to manage postgresql.conf
   - pgconf includes a type and provider for postgresql.conf the provider
     is a simple parsed file following basic ini parsing.
  - Add config_entry.pp which wraps the pgconf module.
  - Replace file_line resources by postgresql::config_entry in beforeservice.pp
  - Adding unit tests for the newly introduced functionality
2013-09-14 06:38:53 +01:00
Greg Sutcliffe
ba005467dc Remove trailing comma which breaks 2.6 compat 2013-08-30 13:00:57 +01:00
Ashley Penney
8ce9952600 Merge pull request #236 from apenney/style
Style fixes (and a bugfix)
2013-08-27 12:00:30 -07:00
Ashley Penney
c2d48f1953 Merge pull request #235 from kamilszymanski/db_docs_update
Add missing documentation for istemplate parameter
2013-08-27 12:00:10 -07:00
Ashley Penney
d378d8aa17 Merge pull request #209 from mnencia/patch-1
Tag the postgresql-contrib package as postgresql
2013-08-27 11:58:18 -07:00
Ashley Penney
f7116f5aad Style guide cleanup.
Most of these changes are just simple bits but I've wrapped a bunch of
stuff around 80 lines so it's slightly more readable.  These should all
be no-op changes.
2013-08-26 12:22:13 -04:00
Kamil Szymanski
83086c2712 Add missing documentation for istemplate parameter 2013-08-25 13:22:33 +02:00
Ashley Penney
0ddb9b109a Add the two missing variables that the if check requires. 2013-08-24 12:07:07 -07:00
Hunter Haugen
b2b9b13df8 Merge pull request #218 from fiddyspence/set_postgres_postgrespw
Alter escaping in postgresql::config::afterservice
2013-08-13 16:13:18 -07:00
Hunter Haugen
9d753b40a8 Merge pull request #229 from mcanevet/plperl
Add README entry for postgresql::plperl
2013-08-13 16:07:34 -07:00
Mickaël Canévet
84f79507ed Fix postgresql::plperl documentation 2013-08-12 10:15:25 +02:00
Ken Barber
9c2dab95aa (GH-216) Alter role call not idempotent with cleartext passwords
The postgresql::role defined type was not idempotent when passed cleartext
passwords. This is because we were comparing it with its md5 equivalent in
the db.

This patch converts any cleartext passwords to md5 before comparison, but
only if they are cleartext (ie. not starting with md5).

I also bumped the version of rspec-system-puppet to get use of the refresh
method, plus did some cleanup because the old tests were a bit dusty, again
taking advantage of refresh plus changing some matchers for clarity.

Signed-off-by: Ken Barber <ken@bob.sh>
2013-08-01 03:18:46 +01:00
fiddyspence
165e12d88e amending the unless on the exec for quoting also 2013-07-23 14:43:45 +01:00
fiddyspence
82d79dd21a reverting path on exec 2013-07-23 13:08:54 +01:00
fiddyspence
2eb03efc29 Alter escaping in postgresql::config::afterservice
This allows non-standard users (pe-postgres) to change passwords. Also
added a function to do escaping of the password, added system tests
and rspec tests for the function.
2013-07-23 13:04:46 +01:00
Hunter Haugen
847f54ce6c Merge pull request #204 from mcanevet/set_istemplate
Add support for istemplate parameter where creating db
2013-07-19 12:55:16 -07:00
Hunter Haugen
95452ceb90 Merge pull request #205 from mcanevet/plperl
Add support for installing PL/Perl
2013-07-19 12:49:21 -07:00
Marco Nenciarini
2344960980 Tag the postgresql-contrib package as postgresql 2013-07-17 12:10:19 +02:00
Hunter Haugen
a37eaa053b Split database_grant up
The code to grant permissions databases and their objects has been
abstracted to `postgresql::grant` and is used by both
`postgresql::database_grant` and `postgresql::table_grant`
2013-07-16 14:31:28 -07:00
Mickaël Canévet
5ff47cf1b8 Test plperl only on non standard installation as it does not work on redhat5 2013-07-16 16:06:12 +02:00
Mickaël Canévet
f0ac7325f4 Set plperl_package_name to postgresql-plperl on every RedHat family OS except RHEL5 2013-07-16 15:32:56 +02:00
Mickaël Canévet
68361236c0 Use $::operatingsystemrelease instead of $::lsbmajdistrelease 2013-07-16 10:21:19 +02:00
Mickaël Canévet
d7cb86ca1e Add missing manifests/plperl.pp file 2013-07-16 08:52:20 +02:00
Mickaël Canévet
5065246512 Add support for installing PL/Perl 2013-07-10 15:20:57 +02:00
Mickaël Canévet
c86fec994a Add support for istemplate parameter where creating db 2013-07-10 14:44:58 +02:00
Mickaël Canévet
1f736fcfc0 Add support for optional management of pg_hba.conf
This patch adds support for disabling management of pg_hba.conf by the module,
through the parameter `manage_pg_hba_conf`.
2013-07-08 13:29:48 +01:00
Mickaël Canévet
abf8f64ab5 Alter superuser, createdb, createrole, login, replication status and the connection limit of a role that already exists
Previously we only created a new user, any updates to the defined resource
would not update the role. This patch adds extra logic to modify a role
whenever a parameter is changed.

System tests have also been added to support this.
2013-07-03 14:11:54 +01:00
Chris Price
dcac94a70d Merge pull request #156 from harbulot/issue_114
Setting the owner of the database with createdb.
2013-06-06 14:45:07 -07:00
Chris Price
5bc584ef26 Merge pull request #188 from cprice-puppet/bug/master/fix-hard-coded-postgres-user-in-hba
Don't hard-code postgres user's username for pg_hba
2013-06-06 14:43:02 -07:00
Chris Price
8502de54a7 Don't hard-code postgres user's username for pg_hba 2013-06-06 12:55:43 -07:00
Ken Barber
f6fb18a5b3 Fix up and add some tests for unknown OS patch
This patch just adds some new tests for the unknown OS patch, and cleans up
some existing tests to look for the new warning message.

Also, change the warning message for $osfamily and manage_package_repo to
reflect the parameter at fault.

Signed-off-by: Ken Barber <ken@bob.sh>
2013-06-06 20:53:36 +01:00
Chris Price
6bd2befa98 Add support for other operating systems besides Redhat/Debian
Prior to this commit, if you attempted to use the module to
manage postgres on any OS other than Redhat/Debian, there
was an explicit check for that, and a call to `fail`.

In reality, the OS family is only used to build up defaults
for various path and package names, which are all exposed
as parameters.  If the user is willing to explicitly pass
in all of those parameters, there's no reason we should
fail based on OS family.

This commit adds checks to the 'default' osfamily case
such that we now only fail if they're on a non-Redhat-or-Debian
system *and* they haven't explicitly passed in values for
all of the required parameters.
2013-06-06 12:23:30 -07:00
Ken Barber
80c85e8f2b Convert system tests to use rspec-system
This patch ports all of the existing system tests to use rspec-system instead.

To assist with this conversion some patches were made to fix OS compatibility
where necessary. We also added an ensure parameter to the postgresql::server
class to assist with removing PostgreSQL configuration to aid with testing
cleanups.

The documentation has been updated to indicate test usage with rspec-system,
we've also renamed the 'tests' directory to 'examples'.

Signed-off-by: Ken Barber <ken@bob.sh>
2013-06-04 15:36:24 +01:00
Dan Prince
03b3df3ab9 Add test on postgresql::python. 2013-04-22 11:30:07 -04:00
Flaper Fesp
bd9bcf4cc2 Add support for psycopg installation 2013-04-22 11:07:50 -04:00
Flaper Fesp
9a307d986a Add support for psycopg installation 2013-04-22 11:04:01 -04:00
Ken Barber
5e4045d0c9 Merge pull request #158 from harbulot/user_nopassword
Adding the ability to create users without a password.
2013-04-12 12:08:49 -07:00
Ken Barber
3804c9323c Merge pull request #162 from domcleal/pp26-fixes
Three Puppet 2.6 fixes
2013-03-27 04:21:06 -07:00
Dominic Cleal
4b5212f803 Enable hasstatus for EL and Puppet 2.6, to detect running server 2013-03-21 18:13:17 +00:00
Dominic Cleal
a8b382276a Change connection_limit default to string, Puppet 2.6 can't parse negative ints 2013-03-21 18:13:05 +00:00
Dominic Cleal
1dd687c882 Add explicit call to concat::setup when creating concat file 2013-03-21 10:13:43 +00:00
Bruno Harbulot
dd05232177 Adding the ability to create users without a password. 2013-03-16 17:32:27 +00:00
Bruno Harbulot
33c56e97ef Setting the owner of the database with createdb. 2013-03-16 16:23:51 +00:00
Kamil Szymanski
82ce5d0480 Add documentation, rspec test and support for global overriding contrib package name 2013-03-02 10:49:57 +01:00
Kamil Szymanski
c6aec41f1b Add supprot for contrib package 2013-03-02 10:46:34 +01:00
Ken Barber
78e183c43b Merge pull request #142 from kamilszymanski/connection_limit
Allow to set connection limit for new role
2013-03-01 06:32:22 -08:00
Kamil Szymanski
e7b25d6b29 Allow to set connection limit for new role 2013-02-28 00:43:24 +01:00
Kamil Szymanski
7a8f7ace59 fix pg_hba_rule for postgres local access 2013-02-27 12:14:13 +01:00
Ken Barber
794ef22934 Fix versions for travis-ci
This fixes some mistakes in the .travis.yml file:

* Corrects matches so the minor gem revisions get rounded, this means 2.6.0
  for example is used.
* Adds Ruby 2.0.0 tests
* Allows 2.6.0 to fail for now, as it doesn't have create_resources.
* Removes trailing commas and arrays in functions for 2.6.0.

Signed-off-by: Ken Barber <ken@bob.sh>
2013-02-26 14:32:25 +00:00
Jordi Boggiano
49ecb872fa Add support for the REPLICATION flag when creating roles 2013-02-25 19:11:28 +01:00
Ken Barber
501289394a Cleaned up and added unit tests
Signed-off-by: Ken Barber <ken@bob.sh>
2013-02-25 17:50:53 +00:00
Karel Brezina
5ef164b1a6 Generalization to provide more flexibility in postgresql configuration 2013-02-25 17:50:34 +00:00
Michael Arnold
0db0849054 Drop trailing comma to support Puppet 2.6. 2013-02-23 16:09:26 -07:00
Ken Barber
4d70c188e8 (GH-130) Fix 'include' parameter for Postgresql 8.1
This removes the 'include' parameter for PostgreSQL 8.1 as it was failing on
Centos 5.

Also added Centos 5 system tests using our new Vagrant boxes.

Signed-off-by: Ken Barber <ken@bob.sh>
2013-02-21 19:17:04 +00:00
Erik Dalén
6322aff0e8 don't modify variables 2013-02-15 17:19:31 +00:00
Erik Dalén
23368ffb03 fix lots of style issues 2013-02-15 17:22:52 +01:00
Ken Barber
b9db279c04 Do not run the reload of postgresql as postgresql
While this worked fine in Ubuntu, it failed silently in Centos.

The script is really designed to be ran as root, so removing the user
property. This was failing our new pg_hba_rule tests without it.

Signed-off-by: Ken Barber <ken@bob.sh>
2013-02-12 00:34:44 +00:00
Ken Barber
86a0453f2f Provide new defined resources for managing pg_hba.conf
This patch provides a more advanced way of managing pg_hba rules, by providing a
defined resource to manage a pg_hba file, and a defined resource for managing
rules within such a file (pg_hba_rule).

These new resources are wrappers around ripinaar-concat, and utilise file
assemblies instead of a template to compose the pg_hba.conf file.

I've provided a function that interprets the old ip4|6acl arrays and converts
them to this new format for backwards compatibility as well.

I slightly reformatted our documentation to allow for better documentation of
defined resources in 'Usage' as well, and provided examples of how to use this
new resource.

This hopefully should go a long way to solving the PR's related to lack of full
functionality for pg_hba.conf.

Signed-off-by: Ken Barber <ken@bob.sh>
2013-02-12 00:34:42 +00:00
fhrbek
e29e0c0d58 Reverted some of the coding style fixes. Strings containing single quotes may be easier to read if enclosed in double quotes although it generated puppet lint warning. 2013-02-07 10:51:33 +01:00
Ken Barber
39862106b2 Merge pull request #117 from fhrbek/coding_style
Coding style fixes
2013-02-06 14:32:39 -08:00
fhrbek
10cb81468e Coding style fixes 2013-02-06 18:51:58 +01:00
Michael Arnold
bbe92fbc1b Clean up java.pp manifest documentation.
Also clarify postgresql::java rspec test.
2013-02-05 23:22:27 -07:00
Michael Arnold
556ab32b73 Add support for JDBC connector.
Modify params.pp to abstract the package name for the postgresql JDBC
connector and add Class['postgresql::java'].  Also update the README.md
to mention the availability of this class.
2013-02-05 23:22:13 -07:00
Ken Barber
2114333539 Add locale parameter support
This adds the parameter 'locale' to the 'postgresql' class so we have a global
default, and adds it two the defined resources 'postgresql::db' and
'postgresql::database'. This allows users to either:

* Defined a global default for the cluster
* Define a per-database default

As a side-effect I had to make sure 'charset' was also exposed in a similar
manner as some locales need a particular charset to work.

Tests were added to test both the 'createdb' case and 'initdb' case for Redhat,
and some refactoring was done to make the existing non_default test area use
heredocs so my manifests and test code was kept close together. As apposed to
entirely different files and places in the directory structure.

I cleaned up the related execs a little bit, adding logoutput => on_failure
where needed so we can debug failures. Beforehand execs just 'failed', but
now we should be able to get better feedback from failed execs helping support.

I also add intention comments in parts of the Puppet code that I touched where
it made sense.

Signed-off-by: Ken Barber <ken@bob.sh>
2013-02-05 17:23:52 +00:00
Karel Brezina
236ce4783a Added info about the advanced configuration file 2013-02-01 12:46:59 +01:00
Chris Price
a4ec366811 WIP - adding support for an 'included' config file 2013-01-31 15:56:48 +01:00
Karel Brezina
9114490e9d Tablespacing improvements 2013-01-29 14:05:15 +01:00
Karel Brezina
fad93fbeea Added support for tablespaces 2013-01-28 18:01:11 +01:00
Flaper Fesp
219e7445bd Removed trailing comma. Makes puppet fail 2013-01-18 15:58:47 +01:00
Chris Price
43ded429de Fix revoke command in database.pp to support postgres 8.1
In postgres 8.1, the 'CONNECT' privilege doesn't exist, which
would result in an error if you tried to use the 'database'
type.  This commit conditions the revoke statement to use the
'ALL' privilege on 8.1.
2013-01-16 16:38:24 -08:00
Daniel Pittman
a018be54e7 Merge pull request #79 from Seldaek/patch-2
Add support for ubuntu 12.10 status
2013-01-16 10:17:19 -08:00
Chris Price
1d6ad0ce9b Update CHANGELOG, README, Modulefile for 2.0.0 release 2013-01-15 16:09:10 -08:00
Chris Price
a1d0ef75f0 Add a "require" to make sure the service is up before trying to create a db 2013-01-15 14:43:18 -08:00
Jordi Boggiano
3504405cf0 Add support for ubuntu 12.10 status 2013-01-15 23:31:14 +01:00
Ken Barber
faeac44713 Manage official postgres apt repo
Previously we hadn't supported using the official PostgreSQL repos for deb-based
packaging. This commit fixes that by introducing the management of the apt
repositories on the host as required, and using the correct package and service
name.

Signed-off-by: Ken Barber <ken@bob.sh>
2013-01-15 11:00:24 -08:00
Chris Price
5f705ddf32 Fix merge issue from AMZ linux patch 2013-01-14 14:14:10 -08:00
Ken Barber
3a180d80cb Merge pull request #66 from cprice-puppet/maint/master/allow-version-param-in-main-init
Change API to expose non-default pg version support via main type
2013-01-14 14:04:24 -08:00
Henrik
5c89dc11f9 data dirs on amazon differ 2013-01-14 22:40:59 +01:00
Henrik
6cb9071bfd Updating params.
The OS Family for Amazon Linux is "Linux", and $::operatingsystem is
"Amazon".
2013-01-14 22:40:05 +01:00
Chris Price
1477d03503 Clean up docs for base class (init.pp) 2013-01-14 13:26:34 -08:00
Chris Price
a8e66e6872 Update uses of 'postgresql' to 'postgresql::client' 2013-01-11 14:26:27 -08:00
Chris Price
45669b7f8b Add remaining params to init.pp, and update tests 2013-01-11 14:23:56 -08:00
Hunter Haugen
6c0b1eff95 Update the base class to accept version parameter 2013-01-11 14:23:56 -08:00
Ken Barber
e1acc2774f Fix inherits issue with validate_db_connection
Previously the validate_db_connection defined type was trying to use inherits
like a class. This of course would fail.

After analyzing its usage, I've removed the need for the top-level params
inherit by just including the 'postgresql' module which pulls in the client
package and the params class as well. It also avoids resource duplication
for the client package as well.

To ensure we don't get regression on this I've added system tests that test
this defined type in a success and failure state.

Signed-off-by: Ken Barber <ken@bob.sh>
2013-01-11 21:57:38 +00:00
Ken Barber
358ebc178b Merge pull request #58 from Mosibi/master
Turn the exec in validate_db_connection.pp around
2013-01-11 04:21:44 -08:00
Richard Arends
fcace1e5c0 changed validate_db_connection.pp 2012-12-28 10:00:15 +01:00
Spenser Gilliland
457f80bfe4 Syntax Fix 2012-12-21 17:26:48 -06:00
Brett Porter
6367e359ea add optional cwd to the postgres_psql command
When the psql command runs from a directory it does not have permission to
access, it outputs an error. This error trips up the unless SQL command,
causing the other SQL commands to run even if not needed. Rather than ignore
stderr (which might hide something else), or use an arbitrary directory like
/tmp, this code sets the cwd to the data directory, which will exist and be
owned by the postgres user. If someone uses the postgres_psql type and
customises the psql_user parameter, they should also set an appropriate cwd.
2012-12-14 23:02:18 +11:00
Chris Price
9febf9a6ed Merge pull request #46 from cprice-puppet/feature/master/refactor-default-version-fact
Rework `postgres_default_version` fact
2012-12-11 07:36:42 -08:00
Florin Broasca
b02556f96c Fix default version for Ubuntu and Debian 2012-12-09 23:56:27 +02:00