diff --git a/manifests/repo/apt_postgresql_org.pp b/manifests/repo/apt_postgresql_org.pp index 71327da..71f76d5 100644 --- a/manifests/repo/apt_postgresql_org.pp +++ b/manifests/repo/apt_postgresql_org.pp @@ -1,27 +1,28 @@ # PRIVATE CLASS: do not use directly class postgresql::repo::apt_postgresql_org inherits postgresql::repo { -include ::apt + include ::apt + # Here we have tried to replicate the instructions on the PostgreSQL site: # # http://www.postgresql.org/download/linux/debian/ # $default_baseurl = 'http://apt.postgresql.org/pub/repos/apt/' - $baseurl_real = pick($postgresql::repo::baseurl,$default_baseurl) + $_baseurl = pick($postgresql::repo::baseurl, $default_baseurl) apt::pin { 'apt_postgresql_org': originator => 'apt.postgresql.org', priority => 500, }-> apt::source { 'apt.postgresql.org': - location => $baseurl_real, + location => $_baseurl, release => "${::lsbdistcodename}-pgdg", repos => "main ${postgresql::repo::version}", key => 'B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8', key_source => 'https://www.postgresql.org/media/keys/ACCC4CF8.asc', include_src => false, } Apt::Source['apt.postgresql.org']->Package<|tag == 'postgresql'|> Class['Apt::Update'] -> Package<|tag == 'postgresql'|> } diff --git a/manifests/repo/yum_postgresql_org.pp b/manifests/repo/yum_postgresql_org.pp index c2dc4c0..1ee8c9a 100644 --- a/manifests/repo/yum_postgresql_org.pp +++ b/manifests/repo/yum_postgresql_org.pp @@ -1,36 +1,36 @@ # PRIVATE CLASS: do not use directly class postgresql::repo::yum_postgresql_org inherits postgresql::repo { $version_parts = split($postgresql::repo::version, '[.]') $package_version = "${version_parts[0]}${version_parts[1]}" $gpg_key_path = "/etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-${package_version}" file { $gpg_key_path: source => 'puppet:///modules/postgresql/RPM-GPG-KEY-PGDG', owner => 'root', group => 'root', mode => '0644', before => Yumrepo['yum.postgresql.org'] } if($::operatingsystem == 'Fedora') { $label1 = 'fedora' $label2 = $label1 } else { $label1 = 'redhat' $label2 = 'rhel' } $default_baseurl = "https://download.postgresql.org/pub/repos/yum/${postgresql::repo::version}/${label1}/${label2}-\$releasever-\$basearch" - $baseurl_real = pick($postgresql::repo::baseurl,$default_baseurl) + $_baseurl = pick($postgresql::repo::baseurl, $default_baseurl) yumrepo { 'yum.postgresql.org': descr => "PostgreSQL ${postgresql::repo::version} \$releasever - \$basearch", - baseurl => $baseurl_real, + baseurl => $_baseurl, enabled => 1, gpgcheck => 1, gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-${package_version}", proxy => $postgresql::repo::proxy, } Yumrepo['yum.postgresql.org'] -> Package<|tag == 'postgresql'|> } diff --git a/spec/unit/classes/globals_spec.rb b/spec/unit/classes/globals_spec.rb index 7b75fa4..ea3ff9d 100644 --- a/spec/unit/classes/globals_spec.rb +++ b/spec/unit/classes/globals_spec.rb @@ -1,87 +1,87 @@ require 'spec_helper' describe 'postgresql::globals', type: :class do context 'on a debian 6' do let (:facts) do { :osfamily => 'Debian', :operatingsystem => 'Debian', :operatingsystemrelease => '6.0', :lsbdistid => 'Debian', :lsbdistcodename => 'squeeze' } end describe 'with no parameters' do it 'should work' do is_expected.to contain_class('postgresql::globals') end end describe 'manage_package_repo => true' do let(:params) do { manage_package_repo: true } end it 'should pull in class postgresql::repo' do is_expected.to contain_class('postgresql::repo') end end end context 'on redhat family systems' do let (:facts) do { osfamily: 'RedHat', operatingsystem: 'RedHat', operatingsystemrelease: '7.1' } end describe 'with no parameters' do it 'should work' do is_expected.to contain_class('postgresql::globals') end end describe 'manage_package_repo on RHEL => true' do let(:params) do { manage_package_repo: true, repo_proxy: 'http://proxy-server:8080' } end it 'should pull in class postgresql::repo' do is_expected.to contain_class('postgresql::repo') end it do should contain_yumrepo('yum.postgresql.org').with( 'enabled' => '1', 'proxy' => 'http://proxy-server:8080' ) end end describe 'repo_baseurl on RHEL => mirror.localrepo.com' do let(:params) do { manage_package_repo: true, repo_baseurl: 'http://mirror.localrepo.com' } end it 'should pull in class postgresql::repo' do is_expected.to contain_class('postgresql::repo') end it do - should contain_yumrepo('download.postgresql.org').with( + should contain_yumrepo('yum.postgresql.org').with( 'enabled' => '1', 'baseurl' => 'http://mirror.localrepo.com' ) end end end end