Skip to content

Commit f0ca290

Browse files
Merge pull request #1179 from raphink/extension_package_dep
Invert psql/package dependency logic
2 parents 0dd7b83 + e7f9c9a commit f0ca290

File tree

1 file changed

+23
-13
lines changed

1 file changed

+23
-13
lines changed

manifests/server/extension.pp

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -32,33 +32,43 @@
3232
$group = postgresql::default('group')
3333
$psql_path = postgresql::default('psql_path')
3434

35+
if( $database != 'postgres' ) {
36+
# The database postgres cannot managed by this module, so it is exempt from this dependency
37+
$default_psql_require = Postgresql::Server::Database[$database_resource_name]
38+
39+
Postgresql_psql {
40+
require => $default_psql_require,
41+
}
42+
} else {
43+
$default_psql_require = undef
44+
}
45+
3546
case $ensure {
3647
'present': {
3748
$command = "CREATE EXTENSION \"${extension}\""
3849
$unless_mod = undef
39-
$package_require = []
40-
$package_before = Postgresql_psql["${database}: ${command}"]
50+
$psql_cmd_require = $package_name ? {
51+
undef => $default_psql_require,
52+
default => [$default_psql_require, Package[$package_name]],
53+
}
54+
$psql_cmd_before = []
4155
}
4256

4357
'absent': {
4458
$command = "DROP EXTENSION \"${extension}\""
4559
$unless_mod = 'NOT '
46-
$package_require = Postgresql_psql["${database}: ${command}"]
47-
$package_before = []
60+
$psql_cmd_require = $default_psql_require
61+
$psql_cmd_before = $package_name ? {
62+
undef => [],
63+
default => Package[$package_name],
64+
}
4865
}
4966

5067
default: {
5168
fail("Unknown value for ensure '${ensure}'.")
5269
}
5370
}
5471

55-
if( $database != 'postgres' ) {
56-
# The database postgres cannot managed by this module, so it is exempt from this dependency
57-
Postgresql_psql {
58-
require => Postgresql::Server::Database[$database_resource_name],
59-
}
60-
}
61-
6272
#
6373
# Port, order of precedence: $port parameter, $connect_settings[PGPORT], $postgresql::server::port
6474
#
@@ -81,6 +91,8 @@
8191
port => $port_override,
8292
command => $command,
8393
unless => "SELECT 1 WHERE ${unless_mod}EXISTS (SELECT 1 FROM pg_extension WHERE extname = '${extension}')",
94+
require => $psql_cmd_require,
95+
before => $psql_cmd_before,
8496
}
8597

8698
if $ensure == 'present' and $schema {
@@ -120,8 +132,6 @@
120132
ensure_packages($package_name, {
121133
ensure => $_package_ensure,
122134
tag => 'puppetlabs-postgresql',
123-
require => $package_require,
124-
before => $package_before,
125135
})
126136
}
127137
if $version {

0 commit comments

Comments
 (0)