Change master postgres log directory to /var/log

As long as postgres has many options and main postgresql module
cannot cover them all, write small new type that can optionally
change any postgresql option similar to existing OpenStack config
types based on ini_setting

Change-Id: I3066bccec7b5ba8f3e9d377d61e716196210cdb7
Closes-Bug: #1458545
This commit is contained in:
Stanislaw Bogatkin 2015-05-25 18:54:15 +03:00
parent 1c5537995c
commit e06e0f7503
3 changed files with 50 additions and 0 deletions

View File

@ -52,3 +52,12 @@ postgresql::server::db { $ostf_dbname:
grant => 'all',
require => Class['::postgresql::server'],
}
Class['postgresql::server'] -> Postgres_config<||>
Postgres_config { ensure => present }
postgres_config {
log_directory : value => "'/var/log/'";
log_filename : value => "'pgsql'";
log_rotation_age : value => "7d";
}

View File

@ -0,0 +1,22 @@
Puppet::Type.type(:postgres_config).provide(
:ini_setting,
:parent => Puppet::Type.type(:ini_setting).provider(:ruby)
) do
def section
""
end
def setting
resource[:name]
end
def separator
'='
end
def file_path
'/var/lib/pgsql/9.3/data/postgresql.conf'
end
end

View File

@ -0,0 +1,19 @@
Puppet::Type.newtype(:postgres_config) do
ensurable
newparam(:name, :namevar => true) do
desc 'Section/setting name to manage from postgres.conf'
newvalues(/\S+/)
end
newproperty(:value) do
desc 'The value of the setting to be defined.'
munge do |value|
value = value.to_s.strip
value.capitalize! if value =~ /^(true|false)$/i
value
end
end
end