diff --git a/data/family/RedHat.yaml b/data/family/RedHat.yaml index 347c23261..ed86e4d54 100644 --- a/data/family/RedHat.yaml +++ b/data/family/RedHat.yaml @@ -1,5 +1,6 @@ --- +rabbitmq::python_package: 'python3' rabbitmq::package_name: 'rabbitmq-server' rabbitmq::service_name: 'rabbitmq-server' rabbitmq::package_gpg_key: 'https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc' -rabbitmq::repo_gpg_key: 'https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey' \ No newline at end of file +rabbitmq::repo_gpg_key: 'https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey' diff --git a/metadata.json b/metadata.json index bda4cd0b7..8f390f0e2 100644 --- a/metadata.json +++ b/metadata.json @@ -11,13 +11,15 @@ { "operatingsystem": "RedHat", "operatingsystemrelease": [ - "7" + "7", + "8" ] }, { "operatingsystem": "CentOS", "operatingsystemrelease": [ - "7" + "7", + "8" ] }, { diff --git a/spec/acceptance/class_spec.rb b/spec/acceptance/class_spec.rb index 009b35b08..744307e9b 100644 --- a/spec/acceptance/class_spec.rb +++ b/spec/acceptance/class_spec.rb @@ -12,12 +12,16 @@ service_name = 'rabbitmq' end + repos_ensure = (fact('os.family') == 'RedHat') + context 'default class inclusion' do let(:pp) do <<-EOS - class { 'rabbitmq': } + class { 'rabbitmq': + repos_ensure => #{repos_ensure}, + } if $facts['os']['family'] == 'RedHat' { - class { 'erlang': epel_enable => true} + class { 'erlang': repo_source => 'packagecloud' } Class['erlang'] -> Class['rabbitmq'] } EOS @@ -52,10 +56,11 @@ class { 'erlang': epel_enable => true} let(:pp) do <<-EOS class { 'rabbitmq': + repos_ensure => #{repos_ensure}, service_ensure => 'stopped', } if $facts['os']['family'] == 'RedHat' { - class { 'erlang': epel_enable => true} + class { 'erlang': repo_source => 'packagecloud' } Class['erlang'] -> Class['rabbitmq'] } EOS @@ -72,20 +77,23 @@ class { 'erlang': epel_enable => true} context 'service is unmanaged' do it 'runs successfully' do pp_pre = <<-EOS - class { 'rabbitmq': } + class { 'rabbitmq': + repos_ensure => #{repos_ensure}, + } if $facts['os']['family'] == 'RedHat' { - class { 'erlang': epel_enable => true} + class { 'erlang': repo_source => 'packagecloud' } Class['erlang'] -> Class['rabbitmq'] } EOS pp = <<-EOS class { 'rabbitmq': + repos_ensure => #{repos_ensure}, service_manage => false, - service_ensure => 'stopped', + service_ensure => 'stopped', } if $facts['os']['family'] == 'RedHat' { - class { 'erlang': epel_enable => true} + class { 'erlang': repo_source => 'packagecloud' } Class['erlang'] -> Class['rabbitmq'] } EOS @@ -104,6 +112,7 @@ class { 'erlang': epel_enable => true} let(:pp) do <<-EOS class { 'rabbitmq': + repos_ensure => #{repos_ensure}, service_manage => true, port => 5672, admin_enable => true, @@ -137,6 +146,7 @@ class { 'rabbitmq': let(:pp) do <<-EOS class { 'rabbitmq': + repos_ensure => #{repos_ensure}, service_manage => true, port => 5672, admin_enable => true, @@ -172,6 +182,7 @@ class { 'rabbitmq': let(:pp) do <<-EOS class { 'rabbitmq': + repos_ensure => #{repos_ensure}, service_manage => true, admin_enable => true, node_ip_address => '0.0.0.0', @@ -203,6 +214,7 @@ class { 'rabbitmq': let(:pp) do <<-EOS class { 'rabbitmq': + repos_ensure => #{repos_ensure}, service_manage => true, port => 5672, admin_enable => true, diff --git a/spec/acceptance/clustering_spec.rb b/spec/acceptance/clustering_spec.rb index ca229e4dc..9cd0e81b7 100644 --- a/spec/acceptance/clustering_spec.rb +++ b/spec/acceptance/clustering_spec.rb @@ -3,10 +3,13 @@ require 'spec_helper_acceptance' describe 'rabbitmq clustering' do + repos_ensure = (fact('os.family') == 'RedHat') + context 'rabbitmq::wipe_db_on_cookie_change => false' do it 'runs successfully' do pp = <<-EOS class { 'rabbitmq': + repos_ensure => #{repos_ensure}, cluster => { 'name' => 'rabbit_cluster', 'init_node' => $facts['fqdn'] }, config_cluster => true, cluster_nodes => ['rabbit1', 'rabbit2'], @@ -16,7 +19,7 @@ class { 'rabbitmq': wipe_db_on_cookie_change => false, } if $facts['os']['family'] == 'RedHat' { - class { 'erlang': epel_enable => true} + class { 'erlang': repo_source => 'packagecloud' } Class['erlang'] -> Class['rabbitmq'] } EOS @@ -33,6 +36,7 @@ class { 'erlang': epel_enable => true} it 'runs successfully' do pp = <<-EOS class { 'rabbitmq': + repos_ensure => #{repos_ensure}, cluster => { 'name' => 'rabbit_cluster', 'init_node' => $facts['fqdn'] }, config_cluster => true, cluster_nodes => ['rabbit1', 'rabbit2'], @@ -42,7 +46,7 @@ class { 'rabbitmq': wipe_db_on_cookie_change => true, } if $facts['os']['family'] == 'RedHat' { - class { 'erlang': epel_enable => true} + class { 'erlang': repo_source => 'packagecloud' } Class['erlang'] -> Class['rabbitmq'] } EOS diff --git a/spec/acceptance/delete_guest_user_spec.rb b/spec/acceptance/delete_guest_user_spec.rb index 15bdff93f..573de7742 100644 --- a/spec/acceptance/delete_guest_user_spec.rb +++ b/spec/acceptance/delete_guest_user_spec.rb @@ -3,15 +3,18 @@ require 'spec_helper_acceptance' describe 'rabbitmq with delete_guest_user' do + repos_ensure = (fact('os.family') == 'RedHat') + context 'delete_guest_user' do it 'runs successfully' do pp = <<-EOS class { 'rabbitmq': + repos_ensure => #{repos_ensure}, port => 5672, delete_guest_user => true, } if $facts['os']['family'] == 'RedHat' { - class { 'erlang': epel_enable => true} + class { 'erlang': repo_source => 'packagecloud' } Class['erlang'] -> Class['rabbitmq'] } EOS diff --git a/spec/acceptance/parameter_spec.rb b/spec/acceptance/parameter_spec.rb index e7ac8773d..acef596f6 100644 --- a/spec/acceptance/parameter_spec.rb +++ b/spec/acceptance/parameter_spec.rb @@ -3,21 +3,20 @@ require 'spec_helper_acceptance' describe 'rabbitmq parameter on a vhost:' do + repos_ensure = (fact('os.family') == 'RedHat') + context 'create parameter resource' do it 'runs successfully' do pp = <<-EOS - if $facts['os']['family'] == 'RedHat' { - class { 'erlang': epel_enable => true } - Class['erlang'] -> Class['rabbitmq'] - } class { 'rabbitmq': + repos_ensure => #{repos_ensure}, service_manage => true, port => 5672, delete_guest_user => true, admin_enable => true, } - rabbitmq_plugin { [ 'rabbitmq_federation_management', 'rabbitmq_federation' ]: + rabbitmq_plugin { [ 'rabbitmq_federation', 'rabbitmq_federation_management' ]: ensure => present } ~> Service['rabbitmq-server'] diff --git a/spec/acceptance/policy_spec.rb b/spec/acceptance/policy_spec.rb index 1cd126344..3868279a9 100644 --- a/spec/acceptance/policy_spec.rb +++ b/spec/acceptance/policy_spec.rb @@ -3,14 +3,17 @@ require 'spec_helper_acceptance' describe 'rabbitmq policy on a vhost:' do + repos_ensure = (fact('os.family') == 'RedHat') + context 'create policy resource' do it 'runs successfully' do pp = <<-EOS if $facts['os']['family'] == 'RedHat' { - class { 'erlang': epel_enable => true } + class { 'erlang': repo_source => 'packagecloud' } Class['erlang'] -> Class['rabbitmq'] } class { 'rabbitmq': + repos_ensure => #{repos_ensure}, service_manage => true, port => 5672, delete_guest_user => true, diff --git a/spec/acceptance/queue_spec.rb b/spec/acceptance/queue_spec.rb index 2934796e9..d8ffff086 100644 --- a/spec/acceptance/queue_spec.rb +++ b/spec/acceptance/queue_spec.rb @@ -3,14 +3,17 @@ require 'spec_helper_acceptance' describe 'rabbitmq binding:' do + repos_ensure = (fact('os.family') == 'RedHat') + context 'create binding and queue resources when using default management port' do it 'runs successfully' do pp = <<-EOS if $facts['os']['family'] == 'RedHat' { - class { 'erlang': epel_enable => true } + class { 'erlang': repo_source => 'packagecloud' } Class['erlang'] -> Class['rabbitmq'] } class { 'rabbitmq': + repos_ensure => #{repos_ensure}, service_manage => true, port => 5672, delete_guest_user => true, @@ -81,10 +84,11 @@ class { 'rabbitmq': it 'runs successfully' do pp = <<-EOS if $facts['os']['family'] == 'RedHat' { - class { 'erlang': epel_enable => true } + class { 'erlang': repo_source => 'packagecloud' } Class['erlang'] -> Class['rabbitmq'] } class { 'rabbitmq': + repos_ensure => #{repos_ensure}, service_manage => true, port => 5672, delete_guest_user => true, @@ -168,11 +172,8 @@ class { 'rabbitmq': context 'create binding and queue resources when using a non-default management port' do it 'runs successfully' do pp = <<-EOS - if $facts['os']['family'] == 'RedHat' { - class { 'erlang': epel_enable => true } - Class['erlang'] -> Class['rabbitmq'] - } class { 'rabbitmq': + repos_ensure => #{repos_ensure}, service_manage => true, port => 5672, management_port => 11111, diff --git a/spec/acceptance/rabbitmqadmin_spec.rb b/spec/acceptance/rabbitmqadmin_spec.rb index fa127f1b4..d8ba035b3 100644 --- a/spec/acceptance/rabbitmqadmin_spec.rb +++ b/spec/acceptance/rabbitmqadmin_spec.rb @@ -3,15 +3,18 @@ require 'spec_helper_acceptance' describe 'rabbitmq::install::rabbitmqadmin class' do + repos_ensure = (fact('os.family') == 'RedHat') + context 'downloads the cli tools' do it 'runs successfully' do pp = <<-EOS class { 'rabbitmq': + repos_ensure => #{repos_ensure}, admin_enable => true, service_manage => true, } if $facts['os']['family'] == 'RedHat' { - class { 'erlang': epel_enable => true} + class { 'erlang': repo_source => 'packagecloud' } Class['erlang'] -> Class['rabbitmq'] } EOS @@ -28,11 +31,12 @@ class { 'erlang': epel_enable => true} it 'runs successfully' do pp = <<-EOS class { 'rabbitmq': + repos_ensure => #{repos_ensure}, admin_enable => true, service_manage => false, } if $facts['os']['family'] == 'RedHat' { - class { 'erlang': epel_enable => true} + class { 'erlang': repo_source => 'packagecloud' } Class['erlang'] -> Class['rabbitmq'] } EOS @@ -51,25 +55,27 @@ class { 'erlang': epel_enable => true} # make sure credential change takes effect before admin_enable pp_pre = <<-EOS class { 'rabbitmq': + repos_ensure => #{repos_ensure}, service_manage => true, default_user => 'foobar', default_pass => 'bazblam', } if $facts['os']['family'] == 'RedHat' { - class { 'erlang': epel_enable => true} + class { 'erlang': repo_source => 'packagecloud' } Class['erlang'] -> Class['rabbitmq'] } EOS pp = <<-EOS class { 'rabbitmq': + repos_ensure => #{repos_ensure}, admin_enable => true, service_manage => true, default_user => 'foobar', default_pass => 'bazblam', } if $facts['os']['family'] == 'RedHat' { - class { 'erlang': epel_enable => true} + class { 'erlang': repo_source => 'packagecloud' } Class['erlang'] -> Class['rabbitmq'] } EOS diff --git a/spec/acceptance/user_spec.rb b/spec/acceptance/user_spec.rb index a8d369218..e79704bed 100644 --- a/spec/acceptance/user_spec.rb +++ b/spec/acceptance/user_spec.rb @@ -3,14 +3,17 @@ require 'spec_helper_acceptance' describe 'rabbitmq user:' do + repos_ensure = (fact('os.family') == 'RedHat') + context 'create user resource' do it 'runs successfully' do pp = <<-EOS if $facts['os']['family'] == 'RedHat' { - class { 'erlang': epel_enable => true } + class { 'erlang': repo_source => 'packagecloud' } Class['erlang'] -> Class['rabbitmq'] } class { 'rabbitmq': + repos_ensure => #{repos_ensure}, service_manage => true, port => 5672, delete_guest_user => true, diff --git a/spec/acceptance/vhost_spec.rb b/spec/acceptance/vhost_spec.rb index 782e33df9..ef47e64e3 100644 --- a/spec/acceptance/vhost_spec.rb +++ b/spec/acceptance/vhost_spec.rb @@ -3,14 +3,13 @@ require 'spec_helper_acceptance' describe 'rabbitmq vhost:' do + repos_ensure = (fact('os.family') == 'RedHat') + context 'create vhost resource' do it 'runs successfully' do pp = <<-EOS - if $facts['os']['family'] == 'RedHat' { - class { 'erlang': epel_enable => true } - Class['erlang'] -> Class['rabbitmq'] - } class { 'rabbitmq': + repos_ensure => #{repos_ensure}, service_manage => true, port => 5672, delete_guest_user => true, diff --git a/spec/classes/rabbitmq_spec.rb b/spec/classes/rabbitmq_spec.rb index 98650f209..f755042b8 100644 --- a/spec/classes/rabbitmq_spec.rb +++ b/spec/classes/rabbitmq_spec.rb @@ -12,7 +12,7 @@ facts end - name = case facts[:osfamily] + name = case facts[:os]['family'] when 'Archlinux', 'OpenBSD', 'FreeBSD' 'rabbitmq' else @@ -239,8 +239,9 @@ is_expected.to contain_archive('rabbitmqadmin').with_source('http://1.1.1.1:15672/cli/rabbitmqadmin') end - it { is_expected.to contain_package('python') } if %w[RedHat Debian SUSE Archlinux].include?(facts[:os]['family']) + it { is_expected.to contain_package('python') } if %w[Debian SUSE Archlinux].include?(facts[:os]['family']) it { is_expected.to contain_package('python2') } if %w[FreeBSD OpenBSD].include?(facts[:os]['family']) + it { is_expected.to contain_package('python3') } if %w[RedHat].include?(facts[:os]['family']) end context 'with manage_python false' do @@ -250,6 +251,7 @@ is_expected.to contain_class('rabbitmq::install::rabbitmqadmin') is_expected.not_to contain_package('python') is_expected.not_to contain_package('python2') + is_expected.not_to contain_package('python3') end end diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb index 94706e396..4bca4f90a 100644 --- a/spec/spec_helper_acceptance.rb +++ b/spec/spec_helper_acceptance.rb @@ -7,7 +7,7 @@ when 'Debian' install_module_from_forge_on(host, 'puppetlabs-apt', '>= 4.1.0 < 9.0.0') when 'RedHat' - install_module_from_forge_on(host, 'garethr-erlang', '>= 0.3.0 < 1.0.0') + install_module_from_forge_on(host, 'puppet-erlang', '>= 1.0.0 < 2.0.0') if fact_on(host, 'os.selinux.enabled') # Make sure selinux is disabled so the tests work. on host, puppet('resource', 'exec', 'setenforce 0', 'path=/bin:/sbin:/usr/bin:/usr/sbin', 'onlyif=which setenforce && getenforce | grep Enforcing')