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

Reply via email to