Commit graph

85 commits

Author SHA1 Message Date
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
Chris Price
97af59e701 Fix GPG key for yum.postgresl.org
The GPG key for yum.postgresql.org was in the wrong directory,
and as written, would have only supported postgres 9.2 anyway.

I looked at the yum rpms for a few other versions besides 9.2,
and they appear to be using the same GPG key.  So this commit
assumes that they all are doing so, and it sets things up
accordingly.  Hopefully this will make the yumrepo support
compatible with other versions of postgres besides 9.2, but I
haven't added that to the actual test matrix yet.
2012-12-07 11:34:30 -08:00
Chris Price
208b663ad1 Rework postgres_default_version fact
This commit fixes up the `postgres_default_version` fact so that
it doesn't use apt/yum (slow), and instead just has a hard-coded
list of default postgres versions for various OS versions.  We
will need to add new OS versions to this fact over time, but that
seems preferable to the previous implementation which was causing
slower puppet runs on all nodes (regardless of whether they were
actually using postgres or not).
2012-12-07 10:40:18 -08:00
Chris Price
afd8e90dd5 Fix to 'require' for database_grant 2012-12-06 14:35:42 -08:00
Chris Price
228e5c5337 Cleanup and move control of version into params
Thanks to some tricks I learned from Nan Liu and Dan Bode, I was
able to figure out a way to move all of the new version-related stuff
back into the params class, and clean up some of the if/_real stuff.

Basic tests for centos6 + pg 9.2 are passing.
2012-12-04 14:12:41 -08:00
Chris Price
18167c7a3e Merge platform.pp back into params.pp
Nan showed me a trick that will let us keep all of that param stuff
inside of params.pp, make it a parameterized class, and still support
the ability for users to specify a custom (non-system-default) pg
version.  This commit takes the first step towards that pattern by
consolidating platform.pp and params.pp.  (Everything old is new again!)
2012-12-04 14:12:34 -08:00
Chris Price
fa24f24397 Re-add support for managing yumrepo
This commit creates a new class called `package_source_info`,
which has some initial framework for managing the postgresql.org
yumrepo.  It also serves as a container for the 'version'
variable that is needed by the 'platform' class in order to
use other versions of postgres besides the system default.
2012-12-02 23:06:36 -08:00
Chris Price
663c779309 A few minor fixes to get tests passing again 2012-12-02 22:05:57 -08:00
Chris Price
de45945aff Merge ::paths and ::packages into one class, called ::platform. 2012-12-02 20:59:18 -08:00
Chris Price
90ed7aaf6d Working on getting ubuntu specs passing again
The service provider / status stuff got a little broken during
the refactors.  This should mostly fix it but there is still
one spec failing, and I will probably also refactor the
paths.pp and packages.pp into a single file together eventually.
2012-12-02 20:56:36 -08:00
Etienne Pelletier
d1025e90ef Removed references to postgresql::paths in class params. 2012-12-02 20:56:36 -08:00
Etienne Pelletier
33add5e10a Removed postgresql::version class and moved version info to init.pp. 2012-12-02 20:56:29 -08:00
Etienne Pelletier
db1a34e7ea Removed references to $postgresql::paths in class params. 2012-12-02 20:54:39 -08:00
Etienne Pelletier
ca701b303c Removed repo class. 2012-12-02 20:54:39 -08:00
Chris Price
2a108abe8b Fix paths 2012-12-02 20:54:39 -08:00
Etienne Pelletier
1fe9559bbe Refactored multi-version support. 2012-12-02 20:54:33 -08:00
Etienne Pelletier
a5d3de2dc4 Pulled repository stuff out of params.
Lint cleanup.
2012-12-02 20:49:47 -08:00
Chris Price
b9a51be36e Fix paths 2012-12-02 20:49:47 -08:00
Etienne Pelletier
8e96959ca8 Added easier support for Postgresql 9.0 (on RedHat platforms) 2012-12-02 20:49:47 -08:00
Chris Price
1b82be0f89 A little more framework for CentOS pg9 testing 2012-12-02 20:47:04 -08:00
Chris Price
df92c96791 Refactor tests and add CentOS6 image
This commit does a fairly major refactor of how the spec tests
are laid out.  The main goal was to make it easier to run
a subset of the tests--e.g., the ability to only run tests
on a single OS via a simple rspec command.

The test logic is now defined in some shared examples in the
`support` directory.  There are now spec folders for each
distro, which contain some stubs to include the shared examples
as well as a Vagrantfile for the particular distro.

Also, the system-default postgres package tests now run
successfully against the CentOS6 VM that is defined by the
Vagrantfile.
2012-12-02 15:28:25 -08:00
Chris Price
76fcf269d8 Merge branch 'master' into cprice-puppet-feature/master/port-psql-to-ruby
Conflicts:
	manifests/database.pp
	manifests/database_grant.pp
	manifests/psql.pp
	manifests/role.pp
2012-11-30 15:49:07 -08:00