diff --git a/manifests/remove_exporter.pp b/manifests/remove_exporter.pp new file mode 100644 index 0000000..0614f74 --- /dev/null +++ b/manifests/remove_exporter.pp @@ -0,0 +1,48 @@ +# @summary A short summary of the purpose of this class +# +# A description of what this class does +# +# @example +# include rsan::remove_exporter +class rsan::remove_exporter { + + #Disable NFS Server and revert config + + file { '/etc/exports': + ensure => absent, + } + + service {'nfs': + ensure => stopped, + } + + if $facts['pe_postgresql_info'] != undef and $facts['pe_postgresql_info']['installed_server_version'] != '' { + + $dbs = ['pe-activity', 'pe-classifier', 'pe-inventory', 'pe-puppetdb', 'pe-rbac', 'pe-orchestrator'] + $dbs.each |$db|{ + + $dropowned_cmd = 'DROP OWNED BY rsan' + pe_postgresql_psql { "${dropowned_cmd} on ${db}": + command => $dropowned_cmd, + db => $db, + port => $pe_postgresql::server::port, + psql_user => $pe_postgresql::server::user, + psql_group => $pe_postgresql::server::group, + psql_path => $pe_postgresql::server::psql_path, + require => [Class['pe_postgresql::server']] + } + + } + + $droprole_cmd = 'DROP ROLE rsan' + pe_postgresql_psql { "${droprole_cmd} ": + command => $droprole_cmd, + db => pe-puppetdb, + port => $pe_postgresql::server::port, + psql_user => $pe_postgresql::server::user, + psql_group => $pe_postgresql::server::group, + psql_path => $pe_postgresql::server::psql_path, + require => Pe_postgresql_psql['DROP OWNED BY rsan on pe-puppetdb'], + } + } +} diff --git a/spec/classes/importer_spec.rb b/spec/classes/importer_spec.rb index dccdafb..8fe7efb 100644 --- a/spec/classes/importer_spec.rb +++ b/spec/classes/importer_spec.rb @@ -4,13 +4,14 @@ describe 'rsan::importer' do before :each do - Puppet::Parser::Functions.newfunction(:puppetdb_query, :type => :rvalue, :arity => 1) do |args| + Puppet::Parser::Functions.newfunction(:puppetdb_query, type: :rvalue, arity: 1) do |_args| [] - end + end end on_supported_os.each do |os, os_facts| context "on #{os}" do let(:facts) { os_facts } + it { is_expected.to compile } end end diff --git a/spec/classes/remove_exporter_spec.rb b/spec/classes/remove_exporter_spec.rb new file mode 100644 index 0000000..bb1450c --- /dev/null +++ b/spec/classes/remove_exporter_spec.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +require 'spec_helper' + +describe 'rsan::remove_exporter' do + on_supported_os.each do |os, os_facts| + context "on #{os}" do + let(:facts) { os_facts } + + it { is_expected.to compile } + end + end +end