Alexandros Kosiaris has uploaded a new change for review.
https://gerrit.wikimedia.org/r/310812
Change subject: postgres: Introduce postgresql::dirs
......................................................................
postgres: Introduce postgresql::dirs
A simple class used only to avoid dependency loops
Change-Id: I50b5ae5ea18711ed63b96410dc9fabe7a4df7fa0
---
A modules/postgresql/manifests/dirs.pp
M modules/postgresql/manifests/server.pp
2 files changed, 56 insertions(+), 16 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/12/310812/1
diff --git a/modules/postgresql/manifests/dirs.pp
b/modules/postgresql/manifests/dirs.pp
new file mode 100644
index 0000000..a4948c8
--- /dev/null
+++ b/modules/postgresql/manifests/dirs.pp
@@ -0,0 +1,50 @@
+# Class: postgresql::dirs
+#
+# This class creates postgresql directories. It's split off from the rest of
the
+# classes in order to allow requiring it without causing dependency loops. You
+# should not be using it directly
+#
+# Parameters:
+# pgversion
+# Defaults to 9.1 in Ubuntu Precise, 9.3 in Ubuntu Trusty,
+# and 9.4 in Debian Jessie. Ubuntu Precise may choose 8.4.
+# FIXME: Just use the unversioned package name and let apt
+# do the right thing.
+# ensure
+# Defaults to present
+# root_dir
+# The root directory for postgresql data. The actual directory will be
+# "${root_dir}/${pgversion}/main".
+#
+# Actions:
+# Create postgres directories
+#
+# Requires:
+#
+# Sample Usage:
+# include postgresql::dirs
+#
+class postgresql::dirs(
+ $pgversion = $::lsbdistcodename ? {
+ jessie => '9.4',
+ precise => '9.1',
+ trusty => '9.3',
+ },
+ $ensure = 'present',
+ $root_dir = '/var/lib/postgresql',
+) {
+ $data_dir = "${root_dir}/${pgversion}/main"
+ file { [ $root_dir, "${root_dir}/${pgversion}" ] :
+ ensure => ensure_directory($ensure),
+ owner => 'postgres',
+ group => 'postgres',
+ mode => '0755',
+ }
+
+ file { $data_dir:
+ ensure => ensure_directory($ensure),
+ owner => 'postgres',
+ group => 'postgres',
+ mode => '0700',
+ }
+}
diff --git a/modules/postgresql/manifests/server.pp
b/modules/postgresql/manifests/server.pp
index d3da12f..2e0f519 100644
--- a/modules/postgresql/manifests/server.pp
+++ b/modules/postgresql/manifests/server.pp
@@ -41,6 +41,12 @@
$use_ssl = false,
) {
require ::postgresql::packages
+ class { '::postgresql::dirs':
+ ensure => $ensure,
+ pgversion => $pgversion,
+ root_dir => $root_dir,
+ require => Class['postgresql::server'],
+ }
$data_dir = "${root_dir}/${pgversion}/main"
@@ -48,22 +54,6 @@
jessie => "postgresql@${pgversion}-main",
default => 'postgresql'
}
-
-
- file { [ $root_dir, "${root_dir}/${pgversion}" ] :
- ensure => ensure_directory($ensure),
- owner => 'postgres',
- group => 'postgres',
- mode => '0755',
- }
-
- file { $data_dir:
- ensure => ensure_directory($ensure),
- owner => 'postgres',
- group => 'postgres',
- mode => '0700',
- }
-
exec { 'pgreload':
command => "/usr/bin/pg_ctlcluster ${pgversion} main reload",
user => 'postgres',
--
To view, visit https://gerrit.wikimedia.org/r/310812
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I50b5ae5ea18711ed63b96410dc9fabe7a4df7fa0
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Alexandros Kosiaris <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits