Skip to content

Commit b50a937

Browse files
committed
Add official support for CentOS/RHEL 8
This change makes CentOS 8 and RHEL 8 as a suppotrted OS. For CentOS 8 RabbitMQ package is not available in EPEL and PackageCloud repos should be used instead. This change adds support for additional erlang repository so that users can install rabbitmq correctly without missing dependencies. Also, now acceptance tests use puppet-erlang instead of garethr-erlang so that it can install erlng from packagecloud. [1] https://www.rabbitmq.com/install-rpm.html
1 parent 1a1c6e7 commit b50a937

File tree

13 files changed

+90
-51
lines changed

13 files changed

+90
-51
lines changed

data/family/RedHat.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
2+
rabbitmq::python_package: 'python3'
23
rabbitmq::package_name: 'rabbitmq-server'
34
rabbitmq::service_name: 'rabbitmq-server'
45
rabbitmq::package_gpg_key: 'https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc'
5-
rabbitmq::repo_gpg_key: 'https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey'
6+
rabbitmq::repo_gpg_key: 'https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey'

metadata.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,15 @@
1111
{
1212
"operatingsystem": "RedHat",
1313
"operatingsystemrelease": [
14-
"7"
14+
"7",
15+
"8"
1516
]
1617
},
1718
{
1819
"operatingsystem": "CentOS",
1920
"operatingsystemrelease": [
20-
"7"
21+
"7",
22+
"8"
2123
]
2224
},
2325
{

spec/acceptance/class_spec.rb

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,17 @@
1212
service_name = 'rabbitmq'
1313
end
1414

15+
repos_ensure = (fact('os.family') == 'RedHat')
16+
1517
context 'default class inclusion' do
1618
let(:pp) do
1719
<<-EOS
18-
class { 'rabbitmq': }
20+
class { 'rabbitmq':
21+
repos_ensure => #{repos_ensure},
22+
}
1923
if $facts['os']['family'] == 'RedHat' {
20-
class { 'erlang': epel_enable => true}
21-
Class['erlang'] -> Class['rabbitmq']
24+
class { 'earlang': repo_source => 'packagecloud' }
25+
class['erlang'] -> Class['rabbitmq']
2226
}
2327
EOS
2428
end
@@ -52,11 +56,12 @@ class { 'erlang': epel_enable => true}
5256
let(:pp) do
5357
<<-EOS
5458
class { 'rabbitmq':
59+
repos_ensure => #{repos_ensure},
5560
service_ensure => 'stopped',
5661
}
5762
if $facts['os']['family'] == 'RedHat' {
58-
class { 'erlang': epel_enable => true}
59-
Class['erlang'] -> Class['rabbitmq']
63+
class { 'earlang': repo_source => 'packagecloud' }
64+
class['erlang'] -> Class['rabbitmq']
6065
}
6166
EOS
6267
end
@@ -72,21 +77,24 @@ class { 'erlang': epel_enable => true}
7277
context 'service is unmanaged' do
7378
it 'runs successfully' do
7479
pp_pre = <<-EOS
75-
class { 'rabbitmq': }
80+
class { 'rabbitmq':
81+
repos_ensure => #{repos_ensure},
82+
}
7683
if $facts['os']['family'] == 'RedHat' {
77-
class { 'erlang': epel_enable => true}
78-
Class['erlang'] -> Class['rabbitmq']
84+
class { 'earlang': repo_source => 'packagecloud' }
85+
class['erlang'] -> Class['rabbitmq']
7986
}
8087
EOS
8188

8289
pp = <<-EOS
8390
class { 'rabbitmq':
91+
repos_ensure => #{repos_ensure},
8492
service_manage => false,
85-
service_ensure => 'stopped',
93+
service_ensure => 'stopped',
8694
}
8795
if $facts['os']['family'] == 'RedHat' {
88-
class { 'erlang': epel_enable => true}
89-
Class['erlang'] -> Class['rabbitmq']
96+
class { 'earlang': repo_source => 'packagecloud' }
97+
class['erlang'] -> Class['rabbitmq']
9098
}
9199
EOS
92100

@@ -104,6 +112,7 @@ class { 'erlang': epel_enable => true}
104112
let(:pp) do
105113
<<-EOS
106114
class { 'rabbitmq':
115+
repos_ensure => #{repos_ensure},
107116
service_manage => true,
108117
port => 5672,
109118
admin_enable => true,
@@ -137,6 +146,7 @@ class { 'rabbitmq':
137146
let(:pp) do
138147
<<-EOS
139148
class { 'rabbitmq':
149+
repos_ensure => #{repos_ensure},
140150
service_manage => true,
141151
port => 5672,
142152
admin_enable => true,
@@ -172,6 +182,7 @@ class { 'rabbitmq':
172182
let(:pp) do
173183
<<-EOS
174184
class { 'rabbitmq':
185+
repos_ensure => #{repos_ensure},
175186
service_manage => true,
176187
admin_enable => true,
177188
node_ip_address => '0.0.0.0',
@@ -203,6 +214,7 @@ class { 'rabbitmq':
203214
let(:pp) do
204215
<<-EOS
205216
class { 'rabbitmq':
217+
repos_ensure => #{repos_ensure},
206218
service_manage => true,
207219
port => 5672,
208220
admin_enable => true,

spec/acceptance/clustering_spec.rb

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,13 @@
33
require 'spec_helper_acceptance'
44

55
describe 'rabbitmq clustering' do
6+
repos_ensure = (fact('os.family') == 'RedHat')
7+
68
context 'rabbitmq::wipe_db_on_cookie_change => false' do
79
it 'runs successfully' do
810
pp = <<-EOS
911
class { 'rabbitmq':
12+
repos_ensure => #{repos_ensure},
1013
cluster => { 'name' => 'rabbit_cluster', 'init_node' => $facts['fqdn'] },
1114
config_cluster => true,
1215
cluster_nodes => ['rabbit1', 'rabbit2'],
@@ -16,8 +19,8 @@ class { 'rabbitmq':
1619
wipe_db_on_cookie_change => false,
1720
}
1821
if $facts['os']['family'] == 'RedHat' {
19-
class { 'erlang': epel_enable => true}
20-
Class['erlang'] -> Class['rabbitmq']
22+
class { 'earlang': repo_source => 'packagecloud' }
23+
class['erlang'] -> Class['rabbitmq']
2124
}
2225
EOS
2326

@@ -33,6 +36,7 @@ class { 'erlang': epel_enable => true}
3336
it 'runs successfully' do
3437
pp = <<-EOS
3538
class { 'rabbitmq':
39+
repos_ensure => #{repos_ensure},
3640
cluster => { 'name' => 'rabbit_cluster', 'init_node' => $facts['fqdn'] },
3741
config_cluster => true,
3842
cluster_nodes => ['rabbit1', 'rabbit2'],
@@ -42,8 +46,8 @@ class { 'rabbitmq':
4246
wipe_db_on_cookie_change => true,
4347
}
4448
if $facts['os']['family'] == 'RedHat' {
45-
class { 'erlang': epel_enable => true}
46-
Class['erlang'] -> Class['rabbitmq']
49+
class { 'earlang': repo_source => 'packagecloud' }
50+
class['erlang'] -> Class['rabbitmq']
4751
}
4852
EOS
4953

spec/acceptance/delete_guest_user_spec.rb

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,19 @@
33
require 'spec_helper_acceptance'
44

55
describe 'rabbitmq with delete_guest_user' do
6+
repos_ensure = (fact('os.family') == 'RedHat')
7+
68
context 'delete_guest_user' do
79
it 'runs successfully' do
810
pp = <<-EOS
911
class { 'rabbitmq':
12+
repos_ensure => #{repos_ensure},
1013
port => 5672,
1114
delete_guest_user => true,
1215
}
1316
if $facts['os']['family'] == 'RedHat' {
14-
class { 'erlang': epel_enable => true}
15-
Class['erlang'] -> Class['rabbitmq']
17+
class { 'earlang': repo_source => 'packagecloud' }
18+
class['erlang'] -> Class['rabbitmq']
1619
}
1720
EOS
1821

spec/acceptance/parameter_spec.rb

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,13 @@
33
require 'spec_helper_acceptance'
44

55
describe 'rabbitmq parameter on a vhost:' do
6+
repos_ensure = (fact('os.family') == 'RedHat')
7+
68
context 'create parameter resource' do
79
it 'runs successfully' do
810
pp = <<-EOS
9-
if $facts['os']['family'] == 'RedHat' {
10-
class { 'erlang': epel_enable => true }
11-
Class['erlang'] -> Class['rabbitmq']
12-
}
1311
class { 'rabbitmq':
12+
repos_ensure => #{repos_ensure},
1413
service_manage => true,
1514
port => 5672,
1615
delete_guest_user => true,

spec/acceptance/policy_spec.rb

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,17 @@
33
require 'spec_helper_acceptance'
44

55
describe 'rabbitmq policy on a vhost:' do
6+
repos_ensure = (fact('os.family') == 'RedHat')
7+
68
context 'create policy resource' do
79
it 'runs successfully' do
810
pp = <<-EOS
911
if $facts['os']['family'] == 'RedHat' {
10-
class { 'erlang': epel_enable => true }
11-
Class['erlang'] -> Class['rabbitmq']
12+
class { 'earlang': repo_source => 'packagecloud' }
13+
class['erlang'] -> Class['rabbitmq']
1214
}
1315
class { 'rabbitmq':
16+
repos_ensure => #{repos_ensure},
1417
service_manage => true,
1518
port => 5672,
1619
delete_guest_user => true,

spec/acceptance/queue_spec.rb

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,17 @@
33
require 'spec_helper_acceptance'
44

55
describe 'rabbitmq binding:' do
6+
repos_ensure = (fact('os.family') == 'RedHat')
7+
68
context 'create binding and queue resources when using default management port' do
79
it 'runs successfully' do
810
pp = <<-EOS
911
if $facts['os']['family'] == 'RedHat' {
10-
class { 'erlang': epel_enable => true }
11-
Class['erlang'] -> Class['rabbitmq']
12+
class { 'earlang': repo_source => 'packagecloud' }
13+
class['erlang'] -> Class['rabbitmq']
1214
}
1315
class { 'rabbitmq':
16+
repos_ensure => #{repos_ensure},
1417
service_manage => true,
1518
port => 5672,
1619
delete_guest_user => true,
@@ -81,10 +84,11 @@ class { 'rabbitmq':
8184
it 'runs successfully' do
8285
pp = <<-EOS
8386
if $facts['os']['family'] == 'RedHat' {
84-
class { 'erlang': epel_enable => true }
85-
Class['erlang'] -> Class['rabbitmq']
87+
class { 'earlang': repo_source => 'packagecloud' }
88+
class['erlang'] -> Class['rabbitmq']
8689
}
8790
class { 'rabbitmq':
91+
repos_ensure => #{repos_ensure},
8892
service_manage => true,
8993
port => 5672,
9094
delete_guest_user => true,
@@ -168,11 +172,8 @@ class { 'rabbitmq':
168172
context 'create binding and queue resources when using a non-default management port' do
169173
it 'runs successfully' do
170174
pp = <<-EOS
171-
if $facts['os']['family'] == 'RedHat' {
172-
class { 'erlang': epel_enable => true }
173-
Class['erlang'] -> Class['rabbitmq']
174-
}
175175
class { 'rabbitmq':
176+
repos_ensure => #{repos_ensure},
176177
service_manage => true,
177178
port => 5672,
178179
management_port => 11111,

spec/acceptance/rabbitmqadmin_spec.rb

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,19 @@
33
require 'spec_helper_acceptance'
44

55
describe 'rabbitmq::install::rabbitmqadmin class' do
6+
repos_ensure = (fact('os.family') == 'RedHat')
7+
68
context 'downloads the cli tools' do
79
it 'runs successfully' do
810
pp = <<-EOS
911
class { 'rabbitmq':
12+
repos_ensure => #{repos_ensure},
1013
admin_enable => true,
1114
service_manage => true,
1215
}
1316
if $facts['os']['family'] == 'RedHat' {
14-
class { 'erlang': epel_enable => true}
15-
Class['erlang'] -> Class['rabbitmq']
17+
class { 'earlang': repo_source => 'packagecloud' }
18+
class['erlang'] -> Class['rabbitmq']
1619
}
1720
EOS
1821

@@ -28,12 +31,13 @@ class { 'erlang': epel_enable => true}
2831
it 'runs successfully' do
2932
pp = <<-EOS
3033
class { 'rabbitmq':
34+
repos_ensure => #{repos_ensure},
3135
admin_enable => true,
3236
service_manage => false,
3337
}
3438
if $facts['os']['family'] == 'RedHat' {
35-
class { 'erlang': epel_enable => true}
36-
Class['erlang'] -> Class['rabbitmq']
39+
class { 'earlang': repo_source => 'packagecloud' }
40+
class['erlang'] -> Class['rabbitmq']
3741
}
3842
EOS
3943

@@ -51,26 +55,28 @@ class { 'erlang': epel_enable => true}
5155
# make sure credential change takes effect before admin_enable
5256
pp_pre = <<-EOS
5357
class { 'rabbitmq':
58+
repos_ensure => #{repos_ensure},
5459
service_manage => true,
5560
default_user => 'foobar',
5661
default_pass => 'bazblam',
5762
}
5863
if $facts['os']['family'] == 'RedHat' {
59-
class { 'erlang': epel_enable => true}
60-
Class['erlang'] -> Class['rabbitmq']
64+
class { 'earlang': repo_source => 'packagecloud' }
65+
class['erlang'] -> Class['rabbitmq']
6166
}
6267
EOS
6368

6469
pp = <<-EOS
6570
class { 'rabbitmq':
71+
repos_ensure => #{repos_ensure},
6672
admin_enable => true,
6773
service_manage => true,
6874
default_user => 'foobar',
6975
default_pass => 'bazblam',
7076
}
7177
if $facts['os']['family'] == 'RedHat' {
72-
class { 'erlang': epel_enable => true}
73-
Class['erlang'] -> Class['rabbitmq']
78+
class { 'earlang': repo_source => 'packagecloud' }
79+
class['erlang'] -> Class['rabbitmq']
7480
}
7581
EOS
7682

spec/acceptance/user_spec.rb

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,17 @@
33
require 'spec_helper_acceptance'
44

55
describe 'rabbitmq user:' do
6+
repos_ensure = (fact('os.family') == 'RedHat')
7+
68
context 'create user resource' do
79
it 'runs successfully' do
810
pp = <<-EOS
911
if $facts['os']['family'] == 'RedHat' {
10-
class { 'erlang': epel_enable => true }
11-
Class['erlang'] -> Class['rabbitmq']
12+
class { 'earlang': repo_source => 'packagecloud' }
13+
class['erlang'] -> Class['rabbitmq']
1214
}
1315
class { 'rabbitmq':
16+
repos_ensure => #{repos_ensure},
1417
service_manage => true,
1518
port => 5672,
1619
delete_guest_user => true,
@@ -38,6 +41,10 @@ class { 'rabbitmq':
3841
context 'destroy user resource' do
3942
it 'runs successfully' do
4043
pp = <<-EOS
44+
if $facts['os']['family'] == 'RedHat' {
45+
class { 'earlang': repo_source => 'packagecloud' }
46+
class['erlang'] -> Class['rabbitmq']
47+
}
4148
rabbitmq_user { 'dan':
4249
ensure => absent,
4350
}

0 commit comments

Comments
 (0)