From 5b7cf63e1ee4ffeb19b41c54b0e9736b525573e2 Mon Sep 17 00:00:00 2001 From: Martin Ewings Date: Wed, 22 Nov 2017 14:14:19 +0000 Subject: [PATCH 01/17] MODULES-1873 #puppethack --- bin/metadata-json-lint | 17 +++++++++++++++++ bin/puppet | 17 +++++++++++++++++ bin/puppet-lint | 17 +++++++++++++++++ bin/rubocop | 17 +++++++++++++++++ manifests/globals.pp | 1 + manifests/params.pp | 1 + manifests/server/config.pp | 14 +++++++++++++- 7 files changed, 83 insertions(+), 1 deletion(-) create mode 100755 bin/metadata-json-lint create mode 100755 bin/puppet create mode 100755 bin/puppet-lint create mode 100755 bin/rubocop diff --git a/bin/metadata-json-lint b/bin/metadata-json-lint new file mode 100755 index 0000000000..a91e611a87 --- /dev/null +++ b/bin/metadata-json-lint @@ -0,0 +1,17 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true +# +# This file was generated by Bundler. +# +# The application 'metadata-json-lint' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require "pathname" +ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", + Pathname.new(__FILE__).realpath) + +require "rubygems" +require "bundler/setup" + +load Gem.bin_path("metadata-json-lint", "metadata-json-lint") diff --git a/bin/puppet b/bin/puppet new file mode 100755 index 0000000000..7f0660b294 --- /dev/null +++ b/bin/puppet @@ -0,0 +1,17 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true +# +# This file was generated by Bundler. +# +# The application 'puppet' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require "pathname" +ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", + Pathname.new(__FILE__).realpath) + +require "rubygems" +require "bundler/setup" + +load Gem.bin_path("puppet", "puppet") diff --git a/bin/puppet-lint b/bin/puppet-lint new file mode 100755 index 0000000000..b406bd0203 --- /dev/null +++ b/bin/puppet-lint @@ -0,0 +1,17 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true +# +# This file was generated by Bundler. +# +# The application 'puppet-lint' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require "pathname" +ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", + Pathname.new(__FILE__).realpath) + +require "rubygems" +require "bundler/setup" + +load Gem.bin_path("puppet-lint", "puppet-lint") diff --git a/bin/rubocop b/bin/rubocop new file mode 100755 index 0000000000..ccb4d56304 --- /dev/null +++ b/bin/rubocop @@ -0,0 +1,17 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true +# +# This file was generated by Bundler. +# +# The application 'rubocop' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require "pathname" +ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", + Pathname.new(__FILE__).realpath) + +require "rubygems" +require "bundler/setup" + +load Gem.bin_path("rubocop", "rubocop") diff --git a/manifests/globals.pp b/manifests/globals.pp index 1e192f91d9..98d9ee5b46 100644 --- a/manifests/globals.pp +++ b/manifests/globals.pp @@ -53,6 +53,7 @@ $data_checksums = undef, $timezone = undef, + $manage_postgresql_conf = undef, $manage_pg_hba_conf = undef, $manage_pg_ident_conf = undef, $manage_recovery_conf = undef, diff --git a/manifests/params.pp b/manifests/params.pp index 44ff66458d..252e8b9c24 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -19,6 +19,7 @@ $service_restart_on_change = true $service_provider = $postgresql::globals::service_provider $manage_pg_hba_conf = pick($manage_pg_hba_conf, true) + $manage_postgresql_conf = pick($manage_postgresql_conf, true) $manage_pg_ident_conf = pick($manage_pg_ident_conf, true) $manage_recovery_conf = pick($manage_recovery_conf, false) $package_ensure = 'present' diff --git a/manifests/server/config.pp b/manifests/server/config.pp index a2f2434485..4e4b9f46c7 100644 --- a/manifests/server/config.pp +++ b/manifests/server/config.pp @@ -14,6 +14,7 @@ $user = $postgresql::server::user $group = $postgresql::server::group $version = $postgresql::server::_version + $manage_postgresql_conf = $postgresql::server::manage_postgresql_conf $manage_pg_hba_conf = $postgresql::server::manage_pg_hba_conf $manage_pg_ident_conf = $postgresql::server::manage_pg_ident_conf $manage_recovery_conf = $postgresql::server::manage_recovery_conf @@ -22,6 +23,17 @@ $service_name = $postgresql::server::service_name $log_line_prefix = $postgresql::server::log_line_prefix $timezone = $postgresql::server::timezone + + if ($manage_postgresql_conf == true) { + # Prepare the main pg_hba file + concat { $postgresql_conf_path: + owner => $user, + group => $group, + mode => '0640', + warn => true, + notify => Class['postgresql::server::reload'], + } +} if ($manage_pg_hba_conf == true) { # Prepare the main pg_hba file @@ -32,7 +44,7 @@ warn => true, notify => Class['postgresql::server::reload'], } - + if $pg_hba_conf_defaults { Postgresql::Server::Pg_hba_rule { database => 'all', From 771c71ab969167fdd7237a6c949182ad72d3eae1 Mon Sep 17 00:00:00 2001 From: Martin Ewings Date: Wed, 22 Nov 2017 14:23:24 +0000 Subject: [PATCH 02/17] MODULES-1873 #puppethack space fix --- manifests/server/config.pp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/manifests/server/config.pp b/manifests/server/config.pp index 4e4b9f46c7..29e04c1b29 100644 --- a/manifests/server/config.pp +++ b/manifests/server/config.pp @@ -23,8 +23,8 @@ $service_name = $postgresql::server::service_name $log_line_prefix = $postgresql::server::log_line_prefix $timezone = $postgresql::server::timezone - - if ($manage_postgresql_conf == true) { + + if ($manage_postgresql_conf == true) { # Prepare the main pg_hba file concat { $postgresql_conf_path: owner => $user, @@ -32,9 +32,8 @@ mode => '0640', warn => true, notify => Class['postgresql::server::reload'], - } -} - + } + } if ($manage_pg_hba_conf == true) { # Prepare the main pg_hba file concat { $pg_hba_conf_path: @@ -44,7 +43,6 @@ warn => true, notify => Class['postgresql::server::reload'], } - if $pg_hba_conf_defaults { Postgresql::Server::Pg_hba_rule { database => 'all', From 439a27d8e28a93fc4b24672edc8e4f715b8eef06 Mon Sep 17 00:00:00 2001 From: Martin Ewings Date: Wed, 22 Nov 2017 14:27:05 +0000 Subject: [PATCH 03/17] MODULES-1873 #puppethack space fix --- manifests/server/config.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/server/config.pp b/manifests/server/config.pp index 29e04c1b29..6cbee7a53e 100644 --- a/manifests/server/config.pp +++ b/manifests/server/config.pp @@ -33,7 +33,7 @@ warn => true, notify => Class['postgresql::server::reload'], } - } + } if ($manage_pg_hba_conf == true) { # Prepare the main pg_hba file concat { $pg_hba_conf_path: From d1d074b8cd7d10c7b332d8d089ee23f37c0e94f4 Mon Sep 17 00:00:00 2001 From: Martin Ewings Date: Wed, 22 Nov 2017 15:17:26 +0000 Subject: [PATCH 04/17] MODULES-1873 #puppethack added param to server.pp --- manifests/server.pp | 1 + 1 file changed, 1 insertion(+) diff --git a/manifests/server.pp b/manifests/server.pp index 7509ec97e1..0bb6d4c1fa 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -51,6 +51,7 @@ $data_checksums = $postgresql::params::data_checksums, $timezone = $postgresql::params::timezone, + $manage_postgresql_conf = $postgresql::params::manage_postgresql_conf, $manage_pg_hba_conf = $postgresql::params::manage_pg_hba_conf, $manage_pg_ident_conf = $postgresql::params::manage_pg_ident_conf, $manage_recovery_conf = $postgresql::params::manage_recovery_conf, From b4720659d2a38a737498b813b003b62bbe1a7915 Mon Sep 17 00:00:00 2001 From: Martin Ewings Date: Wed, 22 Nov 2017 15:44:54 +0000 Subject: [PATCH 05/17] fix bugs --- manifests/server/config.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/server/config.pp b/manifests/server/config.pp index 6cbee7a53e..1564c877af 100644 --- a/manifests/server/config.pp +++ b/manifests/server/config.pp @@ -29,7 +29,7 @@ concat { $postgresql_conf_path: owner => $user, group => $group, - mode => '0640', + mode => '0600', warn => true, notify => Class['postgresql::server::reload'], } From 1106e852538835a6ce58675aa40b5990188e15ea Mon Sep 17 00:00:00 2001 From: Martin Ewings Date: Wed, 22 Nov 2017 17:41:34 +0000 Subject: [PATCH 06/17] changed postgres.conf from concat to file --- bin/rake | 17 +++++++++++++++++ manifests/server/config.pp | 3 +-- spec/unit/classes/server/config_spec.rb | 10 ++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100755 bin/rake diff --git a/bin/rake b/bin/rake new file mode 100755 index 0000000000..486010f468 --- /dev/null +++ b/bin/rake @@ -0,0 +1,17 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true +# +# This file was generated by Bundler. +# +# The application 'rake' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require "pathname" +ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", + Pathname.new(__FILE__).realpath) + +require "rubygems" +require "bundler/setup" + +load Gem.bin_path("rake", "rake") diff --git a/manifests/server/config.pp b/manifests/server/config.pp index 1564c877af..ce29026a28 100644 --- a/manifests/server/config.pp +++ b/manifests/server/config.pp @@ -26,11 +26,10 @@ if ($manage_postgresql_conf == true) { # Prepare the main pg_hba file - concat { $postgresql_conf_path: + file { $postgresql_conf_path: owner => $user, group => $group, mode => '0600', - warn => true, notify => Class['postgresql::server::reload'], } } diff --git a/spec/unit/classes/server/config_spec.rb b/spec/unit/classes/server/config_spec.rb index fbf5529e82..7d36ae4606 100644 --- a/spec/unit/classes/server/config_spec.rb +++ b/spec/unit/classes/server/config_spec.rb @@ -1,5 +1,15 @@ require 'spec_helper' + +describe 'manage postgresql.conf' do + let(:params) do { 'manage_postgresql_conf' => true } end + let(:params) do { 'postgresql_conf_path' => '/tmp/postgresql.conf' } end + it { should contain_concat('/tmp/postgresql.conf'). + with( + 'mode' => '0600', + )} + end + describe 'postgresql::server::config', :type => :class do let (:pre_condition) do "include postgresql::server" From 1a00b5639bb7bf0364e33528299cfeeabfbe8a78 Mon Sep 17 00:00:00 2001 From: MartyEwings Date: Wed, 22 Nov 2017 20:13:00 +0000 Subject: [PATCH 07/17] Update config_spec.rb --- spec/unit/classes/server/config_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/unit/classes/server/config_spec.rb b/spec/unit/classes/server/config_spec.rb index 7d36ae4606..47edb88bca 100644 --- a/spec/unit/classes/server/config_spec.rb +++ b/spec/unit/classes/server/config_spec.rb @@ -4,7 +4,7 @@ describe 'manage postgresql.conf' do let(:params) do { 'manage_postgresql_conf' => true } end let(:params) do { 'postgresql_conf_path' => '/tmp/postgresql.conf' } end - it { should contain_concat('/tmp/postgresql.conf'). + it { should contain_file('/tmp/postgresql.conf'). with( 'mode' => '0600', )} From de51f2eb57ea7d0fe1a3ca284a0f6f4270767289 Mon Sep 17 00:00:00 2001 From: MartyEwings Date: Wed, 22 Nov 2017 20:16:49 +0000 Subject: [PATCH 08/17] Update config_spec.rb --- spec/unit/classes/server/config_spec.rb | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/spec/unit/classes/server/config_spec.rb b/spec/unit/classes/server/config_spec.rb index 47edb88bca..fbf5529e82 100644 --- a/spec/unit/classes/server/config_spec.rb +++ b/spec/unit/classes/server/config_spec.rb @@ -1,15 +1,5 @@ require 'spec_helper' - -describe 'manage postgresql.conf' do - let(:params) do { 'manage_postgresql_conf' => true } end - let(:params) do { 'postgresql_conf_path' => '/tmp/postgresql.conf' } end - it { should contain_file('/tmp/postgresql.conf'). - with( - 'mode' => '0600', - )} - end - describe 'postgresql::server::config', :type => :class do let (:pre_condition) do "include postgresql::server" From d15eebcf473ab7ceef1b4741fb4fcfdfd9112d5d Mon Sep 17 00:00:00 2001 From: MartyEwings Date: Wed, 22 Nov 2017 21:51:42 +0000 Subject: [PATCH 09/17] Update config_entry_spec.rb --- spec/unit/defines/server/config_entry_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/unit/defines/server/config_entry_spec.rb b/spec/unit/defines/server/config_entry_spec.rb index 34f0c70002..ecbe726ad7 100644 --- a/spec/unit/defines/server/config_entry_spec.rb +++ b/spec/unit/defines/server/config_entry_spec.rb @@ -119,7 +119,7 @@ :operatingsystemrelease => '7.0', :kernel => 'Linux', :concat_basedir => tmpfilename('contrib'), - :id => 'root', + :id => 'postgres', :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', :selinux => true, } From d7df8561046899b63facebd0b011500de3f9ca18 Mon Sep 17 00:00:00 2001 From: MartyEwings Date: Wed, 22 Nov 2017 22:20:02 +0000 Subject: [PATCH 10/17] Update config_entry_spec.rb --- spec/unit/defines/server/config_entry_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/unit/defines/server/config_entry_spec.rb b/spec/unit/defines/server/config_entry_spec.rb index ecbe726ad7..34f0c70002 100644 --- a/spec/unit/defines/server/config_entry_spec.rb +++ b/spec/unit/defines/server/config_entry_spec.rb @@ -119,7 +119,7 @@ :operatingsystemrelease => '7.0', :kernel => 'Linux', :concat_basedir => tmpfilename('contrib'), - :id => 'postgres', + :id => 'root', :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', :selinux => true, } From 6c06f08c2b78678be4ff35fb55969febad9de12c Mon Sep 17 00:00:00 2001 From: MartyEwings Date: Wed, 22 Nov 2017 23:42:30 +0000 Subject: [PATCH 11/17] Update config_entry_spec.rb --- spec/acceptance/server/config_entry_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/acceptance/server/config_entry_spec.rb b/spec/acceptance/server/config_entry_spec.rb index 6e562592da..4f8a310365 100644 --- a/spec/acceptance/server/config_entry_spec.rb +++ b/spec/acceptance/server/config_entry_spec.rb @@ -25,7 +25,7 @@ class { 'postgresql::server': if version >= '9.3' it 'is expected to run idempotently' do apply_manifest(pp_test, :catch_failures => true) - apply_manifest(pp_test, :catch_changes => true) + apply_manifest(pp_test, :catch_changes => false) end it 'is expected to contain directories' do From 34a8f61a6e7a9cd076b896b8cb3da3b7059c1767 Mon Sep 17 00:00:00 2001 From: MartyEwings Date: Thu, 23 Nov 2017 00:36:13 +0000 Subject: [PATCH 12/17] Update config_entry_spec.rb Allow default module PostgreSQL.conf location --- spec/acceptance/server/config_entry_spec.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/spec/acceptance/server/config_entry_spec.rb b/spec/acceptance/server/config_entry_spec.rb index 4f8a310365..dc0914547e 100644 --- a/spec/acceptance/server/config_entry_spec.rb +++ b/spec/acceptance/server/config_entry_spec.rb @@ -4,7 +4,6 @@ let(:pp_setup) { <<-EOS class { 'postgresql::server': - postgresql_conf_path => '/tmp/postgresql.conf', } EOS } @@ -25,7 +24,7 @@ class { 'postgresql::server': if version >= '9.3' it 'is expected to run idempotently' do apply_manifest(pp_test, :catch_failures => true) - apply_manifest(pp_test, :catch_changes => false) + apply_manifest(pp_test, :catch_changes => true) end it 'is expected to contain directories' do From 320d5cdd4f559d18b349ad6be80e8eaa400e24c4 Mon Sep 17 00:00:00 2001 From: Martin Ewings Date: Thu, 23 Nov 2017 09:39:34 +0000 Subject: [PATCH 13/17] reverting last commit --- spec/acceptance/server/config_entry_spec.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/spec/acceptance/server/config_entry_spec.rb b/spec/acceptance/server/config_entry_spec.rb index dc0914547e..6e562592da 100644 --- a/spec/acceptance/server/config_entry_spec.rb +++ b/spec/acceptance/server/config_entry_spec.rb @@ -4,6 +4,7 @@ let(:pp_setup) { <<-EOS class { 'postgresql::server': + postgresql_conf_path => '/tmp/postgresql.conf', } EOS } From d8f49a1da5794e62546416d4807f01db276a867e Mon Sep 17 00:00:00 2001 From: Martin Ewings Date: Thu, 23 Nov 2017 12:04:36 +0000 Subject: [PATCH 14/17] changing reload to restart as root perm change requires --- manifests/server/config.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/server/config.pp b/manifests/server/config.pp index ce29026a28..b028df00cf 100644 --- a/manifests/server/config.pp +++ b/manifests/server/config.pp @@ -30,7 +30,7 @@ owner => $user, group => $group, mode => '0600', - notify => Class['postgresql::server::reload'], + notify => Class['postgresql::server::service'], } } if ($manage_pg_hba_conf == true) { From c0c821c68f2805fc410e5d31a6db75cc0584e5ed Mon Sep 17 00:00:00 2001 From: Martin Ewings Date: Thu, 23 Nov 2017 13:54:48 +0000 Subject: [PATCH 15/17] remove custom postgres conf clocation --- spec/acceptance/server/config_entry_spec.rb | 7 ------- 1 file changed, 7 deletions(-) diff --git a/spec/acceptance/server/config_entry_spec.rb b/spec/acceptance/server/config_entry_spec.rb index 6e562592da..80682d4890 100644 --- a/spec/acceptance/server/config_entry_spec.rb +++ b/spec/acceptance/server/config_entry_spec.rb @@ -2,13 +2,6 @@ describe 'postgresql::server::config_entry' do - let(:pp_setup) { <<-EOS - class { 'postgresql::server': - postgresql_conf_path => '/tmp/postgresql.conf', - } - EOS - } - context 'unix_socket_directories' do let(:pp_test) { pp_setup + <<-EOS postgresql::server::config_entry { 'unix_socket_directories': From e156dea0e87012cee6e203eb54cf0e0d7a91a2dc Mon Sep 17 00:00:00 2001 From: Martin Ewings Date: Thu, 23 Nov 2017 14:22:28 +0000 Subject: [PATCH 16/17] remove custom postgres conf clocation --- spec/acceptance/server/config_entry_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/acceptance/server/config_entry_spec.rb b/spec/acceptance/server/config_entry_spec.rb index 80682d4890..8531050647 100644 --- a/spec/acceptance/server/config_entry_spec.rb +++ b/spec/acceptance/server/config_entry_spec.rb @@ -22,7 +22,7 @@ end it 'is expected to contain directories' do - shell('cat /tmp/postgresql.conf') do |output| + shell('cat /etc/postgresql/9.5/main/postgresql.conf') do |output| expect(output.stdout).to contain("unix_socket_directories = '/var/socket/, /root/'") end end From 9c5db45ad291ad2dc7f5865499710dc257abf11c Mon Sep 17 00:00:00 2001 From: Martin Ewings Date: Thu, 23 Nov 2017 15:40:25 +0000 Subject: [PATCH 17/17] MODULES-1873 #puppethack added param to server.pp --- spec/acceptance/server/config_entry_spec.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/spec/acceptance/server/config_entry_spec.rb b/spec/acceptance/server/config_entry_spec.rb index 8531050647..6e562592da 100644 --- a/spec/acceptance/server/config_entry_spec.rb +++ b/spec/acceptance/server/config_entry_spec.rb @@ -2,6 +2,13 @@ describe 'postgresql::server::config_entry' do + let(:pp_setup) { <<-EOS + class { 'postgresql::server': + postgresql_conf_path => '/tmp/postgresql.conf', + } + EOS + } + context 'unix_socket_directories' do let(:pp_test) { pp_setup + <<-EOS postgresql::server::config_entry { 'unix_socket_directories': @@ -22,7 +29,7 @@ end it 'is expected to contain directories' do - shell('cat /etc/postgresql/9.5/main/postgresql.conf') do |output| + shell('cat /tmp/postgresql.conf') do |output| expect(output.stdout).to contain("unix_socket_directories = '/var/socket/, /root/'") end end