Commit graph

654 commits

Author SHA1 Message Date
Alexander Swen
03ff26d6d4 Merge puppetlabsmaster in initdb_ordering_issue 2014-08-19 09:38:05 +02: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
Ashley Penney
c2e8b4a261 Merge pull request #460 from hunner/default_pgident
Manage pg_ident.conf by default
2014-08-01 17:20:14 -04:00
Morgan Haskel
14558900f6 Merge pull request #463 from apenney/fix-selinux
This seems to fix up selinux for tablespace.
2014-08-01 16:10:21 -04:00
Ashley Penney
a18d56067e This seems to fix up selinux for tablespace. 2014-08-01 14:56:25 -04:00
Hunter Haugen
f0da02cb7a Manage pg_ident.conf by default 2014-07-30 13:55:20 -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
Hunter Haugen
38929e3e5e Merge pull request #452 from txaj/support_pg_ident
Create the pg_ident_rule defined type
2014-07-28 12:09:05 -07: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
Ashley Penney
3ed43705cf Merge pull request #457 from igalic/doc-fix
doc: use postgresql::*server*::tablespace in example
2014-07-25 11:19:08 -04: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
327c7e9cd9 Merge pull request #454 from apenney/merge-from-34
Merge 3.4.x changes into master.
2014-07-25 09:43:58 -04:00
Ashley Penney
e2f5015207 Merge 3.4.x changes into master. 2014-07-25 09:31:00 -04:00
Ashley Penney
4345749a71 Merge pull request #453 from kbarber/maint/master/latest-fedora-no-sysconfig
Fix Fedora support by configuring systemd, not /etc/sysconfig
2014-07-25 09:11:30 -04:00
Dominic Cleal
0c4f2a9647 Fix Fedora support by configuring systemd, not /etc/sysconfig 2014-07-25 11:40:53 +01:00
Jason Antman
8ad12ece49 MODULES-1213 fix typo 2014-07-17 13:10:35 -04:00
Jason Antman
6f2c70fb95 MODULES-1213 remove inadvertantly added vagrant-wrapper gem 2014-07-17 13:09:56 -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
07b8ac4946 Merge pull request #442 from apenney/remove-uninstall-code
Remove the ensure => absent uninstall code.
2014-07-12 14:24:46 -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
46103e7c45 Merge pull request #449 from apenney/spec_tests_rewrite
Spec tests rewrite
2014-07-12 12:14:30 -04:00
Ashley Penney
6a105f3c97 Rework the acceptance and unit tests. 2014-07-09 16:39:04 -04:00
Ashley Penney
0ee1b9a2ea Convert specs to RSpec 2.99.1 syntax with Transpec
This conversion is done by Transpec 2.3.1 with the following command:
    transpec -f -c "bundle exec rake spec"

* 82 conversions
    from: it { should ... }
      to: it { is_expected.to ... }

* 21 conversions
    from: == expected
      to: eq(expected)

* 20 conversions
    from: obj.should
      to: expect(obj).to

* 5 conversions
    from: its([:key]) { }
      to: describe '[:key]' do subject { super()[:key] }; it { } end

* 1 conversion
    from: it { should_not ... }
      to: it { is_expected.not_to ... }

* 1 conversion
    from: its(:attr) { }
      to: describe '#attr' do subject { super().attr }; it { } end

For more details: https://github.com/yujinakayama/transpec#supported-conversions
2014-07-09 16:39:04 -04:00
Ashley Penney
d7b95e5e1b Remove all the old acceptance tests. 2014-07-09 16:38:53 -04:00
Ashley Penney
72c357a32a Merge pull request #443 from cmurphy/master
Add validate and lint tasks to travis script
2014-07-03 17:42:44 -04:00
Colleen Murphy
4df5590f50 Add validate and lint tasks to travis script 2014-07-03 09:53:58 -07:00
Hunter Haugen
8588b4ad8e Merge pull request #439 from cmurphy/master
Synchronize .travis.yml
2014-06-30 12:07:50 -07:00
Colleen Murphy
c1744f25fc Update Gemfile for .travis.yml defaults 2014-06-30 10:58:43 -07:00
Colleen Murphy
9c3a14de40 Synchronize .travis.yml 2014-06-27 10:55:14 -07:00
Colleen Murphy
6cc739ccf4 Update .sync.yml to support new .travis.yml configs 2014-06-27 10:10:23 -07:00
Ashley Penney
c745a84899 Merge pull request #436 from apenney/fix-typo
Fix trailing }.
2014-06-26 14:28:23 -04:00
Ashley Penney
61bde22f68 Fix trailing }. 2014-06-26 14:27:57 -04:00
Morgan Haskel
d05c56634e Merge pull request #435 from cmurphy/master
Start synchronizing module files
2014-06-26 13:59:49 -04:00
Colleen Murphy
c63a7ba857 Sync files 2014-06-25 17:23:35 -07:00
Colleen Murphy
6dfa6363a9 Add configuration file for modulesync
https://github.com/puppetlabs/modulesync
2014-06-25 16:16:22 -07:00
Ashley Penney
a386c388d0 Merge pull request #433 from apenney/fix-selinux-tests
Add workaround for selinux.
2014-06-24 11:11:29 -04:00
Ashley Penney
5735eea1ac Add workaround for selinux. 2014-06-24 11:11:03 -04:00
Ashley Penney
5d4ecb1b04 Merge pull request #413 from rdark/support/jdbc_repo_dependency
tag postgresql-jdbc package to fix package repo dependency
2014-06-05 13:37:03 -04:00
Ashley Penney
e29f5ef8d8 Merge pull request #422 from dvorak/create_user_role_before_validate
Ensure db user exists before validating db connection
2014-06-05 13:36:24 -04:00
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
Morgan Haskel
dcd1741c03 Merge pull request #427 from apenney/fix-1404-tests
Fix Ubuntu 14.04 tests for now.
2014-06-03 15:07:48 -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
Ashley Penney
9c2e53e86c Merge pull request #426 from domcleal/modules-775-refresh
(MODULES-775) Fix refresh/unless parameter interactions
2014-06-03 09:45:53 -04:00
Dominic Cleal
b7cbe60d4b (MODULES-775) Fix refresh/unless parameter interactions
Interactions between resource refreshes and the 'unless' parameter have been
fixed to follow the behaviour of the 'exec' type.

The 'unless' parameter is now always taken into account, whether in ordinary
operation, during a refresh, or when refreshonly is set to true.  The resource
will not run the SQL command when the 'unless' clause matches a row.

Previously a refresh on a resource would ignore the 'unless' parameter if set
which could cause a failure re-running a command, such as attempting to create
a role that already exists.

The following examples have been fixed:

  * should not run SQL when refreshed and the unless query returns rows
  * with refreshonly should not run SQL when the unless query returns no rows
  * with refreshonly should not run SQL when refreshed and the unless query
    returns rows

This is done by moving the logic for refreshonly and whether to run the SQL
command from the provider into the type, and consolidating it in the
should_run_sql method which is called during 'command' property retrieval
(instead of sync) and during refresh.
2014-06-03 10:25:13 +01:00
Morgan Haskel
fbeb8b54b6 Merge pull request #424 from apenney/remove-eq-tests
Remove eq('') tests thanks to the new deprecation warnings.
2014-05-29 12:11:18 -04:00
Ashley Penney
706eb884eb Remove eq('') tests thanks to the new deprecation warnings. 2014-05-29 12:09:08 -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