Skip to content

Add supprot for contrib package #135

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 5, 2013
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ Classes:
* [postgresql](#class-postgresql)
* [postgresql::server](#class-postgresqlserver)
* [postgresql::client](#class-postgresqlclient)
* [postgresql::contrib](#class-postgresqlcontrib)
* [postgresql::devel](#class-postgresqldevel)
* [postgresql::java](#class-postgresqljava)

Expand Down Expand Up @@ -179,6 +180,9 @@ This setting can be used to override the default postgresql client package name.
####`server_package_name`
This setting can be used to override the default postgresql server package name. If not specified, the module will use whatever package name is the default for your OS distro.

####`contrib_package_name`
This setting can be used to override the default postgresql contrib package name. If not specified, the module will use whatever package name is the default for your OS distro.

####`devel_package_name`
This setting can be used to override the default postgresql devel package name. If not specified, the module will use whatever package name is the default for your OS distro.

Expand Down Expand Up @@ -237,6 +241,15 @@ The name of the postgresql client package.
####`package_ensure`
The ensure parameter passed on to postgresql client package resource.

###Class: postgresql::contrib
Installs the postgresql contrib package.

####`package_name`
The name of the postgresql client package.

####`package_ensure`
The ensure parameter passed on to postgresql contrib package resource.

###Class: postgresql::devel
Installs the packages containing the development libraries for PostgreSQL.

Expand Down
26 changes: 26 additions & 0 deletions manifests/contrib.pp
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Class: postgresql::contrib
#
# This class installs the postgresql contrib package.
#
# Parameters:
# [*package_name*] - The name of the postgresql contrib package.
# [*package_ensure*] - The ensure value of the package.
#
# Actions:
#
# Requires:
#
# Sample Usage:
#
# class { 'postgresql::contrib': }
#
class postgresql::contrib (
$package_name = $postgresql::params::contrib_package_name,
$package_ensure = 'present'
) inherits postgresql::params {

package { 'postgresql-contrib':
ensure => $package_ensure,
name => $package_name,
}
}
71 changes: 39 additions & 32 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,11 @@
# postgresql server package name. If not specified, the module
# will use whatever package name is the default for your
# OS distro.
# [*contrib_package_name*]
# This setting can be used to override the default
# postgresql contrib package name. If not specified, the module
# will use whatever package name is the default for your
# OS distro.
# [*devel_package_name*]
# This setting can be used to override the default
# postgresql devel package name. If not specified, the module
Expand Down Expand Up @@ -99,40 +104,42 @@
#
#
class postgresql (
$version = $::postgres_default_version,
$manage_package_repo = false,
$package_source = undef,
$locale = undef,
$charset = 'UTF8',
$datadir = undef,
$confdir = undef,
$bindir = undef,
$client_package_name = undef,
$server_package_name = undef,
$devel_package_name = undef,
$java_package_name = undef,
$service_name = undef,
$user = undef,
$group = undef,
$run_initdb = undef
$version = $::postgres_default_version,
$manage_package_repo = false,
$package_source = undef,
$locale = undef,
$charset = 'UTF8',
$datadir = undef,
$confdir = undef,
$bindir = undef,
$client_package_name = undef,
$server_package_name = undef,
$contrib_package_name = undef,
$devel_package_name = undef,
$java_package_name = undef,
$service_name = undef,
$user = undef,
$group = undef,
$run_initdb = undef
) {

class { 'postgresql::params':
version => $version,
manage_package_repo => $manage_package_repo,
package_source => $package_source,
locale => $locale,
charset => $charset,
custom_datadir => $datadir,
custom_confdir => $confdir,
custom_bindir => $bindir,
custom_client_package_name => $client_package_name,
custom_server_package_name => $server_package_name,
custom_devel_package_name => $devel_package_name,
custom_java_package_name => $java_package_name,
custom_service_name => $service_name,
custom_user => $user,
custom_group => $group,
run_initdb => $run_initdb,
version => $version,
manage_package_repo => $manage_package_repo,
package_source => $package_source,
locale => $locale,
charset => $charset,
custom_datadir => $datadir,
custom_confdir => $confdir,
custom_bindir => $bindir,
custom_client_package_name => $client_package_name,
custom_server_package_name => $server_package_name,
custom_contrib_package_name => $contrib_package_name,
custom_devel_package_name => $devel_package_name,
custom_java_package_name => $java_package_name,
custom_service_name => $service_name,
custom_user => $user,
custom_group => $group,
run_initdb => $run_initdb,
}
}
72 changes: 38 additions & 34 deletions manifests/params.pp
Original file line number Diff line number Diff line change
Expand Up @@ -28,22 +28,23 @@
# correct paths to the postgres dirs.

class postgresql::params(
$version = $::postgres_default_version,
$manage_package_repo = false,
$package_source = undef,
$locale = undef,
$charset = 'UTF8',
$custom_datadir = undef,
$custom_confdir = undef,
$custom_bindir = undef,
$custom_client_package_name = undef,
$custom_server_package_name = undef,
$custom_devel_package_name = undef,
$custom_java_package_name = undef,
$custom_service_name = undef,
$custom_user = undef,
$custom_group = undef,
$run_initdb = undef
$version = $::postgres_default_version,
$manage_package_repo = false,
$package_source = undef,
$locale = undef,
$charset = 'UTF8',
$custom_datadir = undef,
$custom_confdir = undef,
$custom_bindir = undef,
$custom_client_package_name = undef,
$custom_server_package_name = undef,
$custom_contrib_package_name = undef,
$custom_devel_package_name = undef,
$custom_java_package_name = undef,
$custom_service_name = undef,
$custom_user = undef,
$custom_group = undef,
$run_initdb = undef
) {
$user = pick($custom_user, 'postgres')
$group = pick($custom_group, 'postgres')
Expand Down Expand Up @@ -109,21 +110,23 @@
$persist_firewall_command = '/sbin/iptables-save > /etc/sysconfig/iptables'

if $version == $::postgres_default_version {
$client_package_name = pick($custom_client_package_name, 'postgresql')
$server_package_name = pick($custom_server_package_name, 'postgresql-server')
$devel_package_name = pick($custom_devel_package_name, 'postgresql-devel')
$java_package_name = pick($custom_java_package_name, 'postgresql-jdbc')
$client_package_name = pick($custom_client_package_name, 'postgresql')
$server_package_name = pick($custom_server_package_name, 'postgresql-server')
$contrib_package_name = pick($custom_contrib_package_name,'postgresql-contrib')
$devel_package_name = pick($custom_devel_package_name, 'postgresql-devel')
$java_package_name = pick($custom_java_package_name, 'postgresql-jdbc')
$service_name = pick($custom_service_name, 'postgresql')
$bindir = pick($custom_bindir, '/usr/bin')
$datadir = pick($custom_datadir, '/var/lib/pgsql/data')
$confdir = pick($custom_confdir, $datadir)
} else {
$version_parts = split($version, '[.]')
$package_version = "${version_parts[0]}${version_parts[1]}"
$client_package_name = pick($custom_client_package_name, "postgresql${package_version}")
$server_package_name = pick($custom_server_package_name, "postgresql${package_version}-server")
$devel_package_name = pick($custom_devel_package_name, "postgresql${package_version}-devel")
$java_package_name = pick($custom_java_package_name, "postgresql${package_version}-jdbc")
$version_parts = split($version, '[.]')
$package_version = "${version_parts[0]}${version_parts[1]}"
$client_package_name = pick($custom_client_package_name, "postgresql${package_version}")
$server_package_name = pick($custom_server_package_name, "postgresql${package_version}-server")
$contrib_package_name = pick($custom_contrib_package_name,"postgresql${package_version}-contrib")
$devel_package_name = pick($custom_devel_package_name, "postgresql${package_version}-devel")
$java_package_name = pick($custom_java_package_name, "postgresql${package_version}-jdbc")
$service_name = pick($custom_service_name, "postgresql-${version}")
$bindir = pick($custom_bindir, "/usr/pgsql-${version}/bin")
$datadir = pick($custom_datadir, "/var/lib/pgsql/${version}/data")
Expand Down Expand Up @@ -154,14 +157,15 @@
}
}

$client_package_name = pick($custom_client_package_name, "postgresql-client-${version}")
$server_package_name = pick($custom_server_package_name, "postgresql-${version}")
$devel_package_name = pick($custom_devel_package_name, 'libpq-dev')
$java_package_name = pick($custom_java_package_name, 'libpostgresql-jdbc-java')
$bindir = pick($custom_bindir, "/usr/lib/postgresql/${version}/bin")
$datadir = pick($custom_datadir, "/var/lib/postgresql/${version}/main")
$confdir = pick($custom_confdir, "/etc/postgresql/${version}/main")
$service_status = "/etc/init.d/${service_name} status | /bin/egrep -q 'Running clusters: .+|online'"
$client_package_name = pick($custom_client_package_name, "postgresql-client-${version}")
$server_package_name = pick($custom_server_package_name, "postgresql-${version}")
$contrib_package_name = pick($custom_contrib_package_name, "postgresql-contrib-${version}")
$devel_package_name = pick($custom_devel_package_name, 'libpq-dev')
$java_package_name = pick($custom_java_package_name, 'libpostgresql-jdbc-java')
$bindir = pick($custom_bindir, "/usr/lib/postgresql/${version}/bin")
$datadir = pick($custom_datadir, "/var/lib/postgresql/${version}/main")
$confdir = pick($custom_confdir, "/etc/postgresql/${version}/main")
$service_status = "/etc/init.d/${service_name} status | /bin/egrep -q 'Running clusters: .+|online'"
}

default: {
Expand Down
11 changes: 11 additions & 0 deletions spec/unit/classes/contrib_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
require 'spec_helper'

describe 'postgresql::contrib', :type => :class do
let :facts do
{
:postgres_default_version => '8.4',
:osfamily => 'Debian',
}
end
it { should include_class("postgresql::contrib") }
end
1 change: 1 addition & 0 deletions spec/unit/classes/init_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
:bindir => '/opt/pg/bin',
:client_package_name => 'my-postgresql-client',
:server_package_name => 'my-postgresql-server',
:contrib_package_name => 'my-postgresql-contrib',
:devel_package_name => 'my-postgresql-devel',
:java_package_name => 'my-postgresql-java',
:service_name => 'my-postgresql',
Expand Down