Skip to content

Commit 52aeea1

Browse files
committed
Add official support for CentOS/RHEL 8
This change makes CentOS 8 and RHEL 8 as a suppotrted OS. Because the rabbitmq-server package for CnetOS 8 is not available in EPEL, this change pulls packages of PackageCloud, following the RabbitMQ's documentation[1]. [1] https://www.rabbitmq.com/install-rpm.html
1 parent 16824ac commit 52aeea1

15 files changed

+120
-77
lines changed

data/family/RedHat.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
---
2+
rabbitmq::python_package: 'python3'
23
rabbitmq::package_name: 'rabbitmq-server'
34
rabbitmq::service_name: 'rabbitmq-server'
45
rabbitmq::package_gpg_key: 'https://www.rabbitmq.com/rabbitmq-release-signing-key.asc'

data/os/CentOS-7.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
---
2+
rabbitmq::python_package: 'python'

data/os/RedHat-7.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
---
2+
rabbitmq::python_package: 'python'

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: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,16 @@
1616
service_name = 'rabbitmq'
1717
end
1818

19+
repos_ensure = case fact('os.family')
20+
when 'RedHat'
21+
true
22+
end
23+
1924
context 'default class inclusion' do
2025
let(:pp) do
2126
<<-EOS
22-
class { 'rabbitmq': }
23-
if $facts['os']['family'] == 'RedHat' {
24-
class { 'erlang': epel_enable => true}
25-
Class['erlang'] -> Class['rabbitmq']
27+
class { 'rabbitmq':
28+
repos_ensure => #{repos_ensure},
2629
}
2730
EOS
2831
end
@@ -56,12 +59,9 @@ class { 'erlang': epel_enable => true}
5659
let(:pp) do
5760
<<-EOS
5861
class { 'rabbitmq':
62+
repos_ensure => #{repos_ensure},
5963
service_ensure => 'stopped',
6064
}
61-
if $facts['os']['family'] == 'RedHat' {
62-
class { 'erlang': epel_enable => true}
63-
Class['erlang'] -> Class['rabbitmq']
64-
}
6565
EOS
6666
end
6767

@@ -76,21 +76,16 @@ class { 'erlang': epel_enable => true}
7676
context 'service is unmanaged' do
7777
it 'runs successfully' do
7878
pp_pre = <<-EOS
79-
class { 'rabbitmq': }
80-
if $facts['os']['family'] == 'RedHat' {
81-
class { 'erlang': epel_enable => true}
82-
Class['erlang'] -> Class['rabbitmq']
79+
class { 'rabbitmq':
80+
repos_ensure => #{repos_ensure},
8381
}
8482
EOS
8583

8684
pp = <<-EOS
8785
class { 'rabbitmq':
86+
repos_ensure => #{repos_ensure},
8887
service_manage => false,
89-
service_ensure => 'stopped',
90-
}
91-
if $facts['os']['family'] == 'RedHat' {
92-
class { 'erlang': epel_enable => true}
93-
Class['erlang'] -> Class['rabbitmq']
88+
service_ensure => 'stopped',
9489
}
9590
EOS
9691

@@ -108,6 +103,7 @@ class { 'erlang': epel_enable => true}
108103
let(:pp) do
109104
<<-EOS
110105
class { 'rabbitmq':
106+
repos_ensure => #{repos_ensure},
111107
service_manage => true,
112108
port => 5672,
113109
admin_enable => true,
@@ -138,6 +134,7 @@ class { 'rabbitmq':
138134
let(:pp) do
139135
<<-EOS
140136
class { 'rabbitmq':
137+
repos_ensure => #{repos_ensure},
141138
service_manage => true,
142139
port => 5672,
143140
admin_enable => true,
@@ -169,6 +166,7 @@ class { 'rabbitmq':
169166
let(:pp) do
170167
<<-EOS
171168
class { 'rabbitmq':
169+
repos_ensure => #{repos_ensure},
172170
service_manage => true,
173171
admin_enable => true,
174172
node_ip_address => '0.0.0.0',
@@ -198,6 +196,7 @@ class { 'rabbitmq':
198196
let(:pp) do
199197
<<-EOS
200198
class { 'rabbitmq':
199+
repos_ensure => #{repos_ensure},
201200
service_manage => true,
202201
port => 5672,
203202
admin_enable => true,

spec/acceptance/clustering_spec.rb

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,15 @@
44
context 'rabbitmq::wipe_db_on_cookie_change => false' do
55
it 'runs successfully' do
66
pp = <<-EOS
7+
if $facts['os']['family'] == 'RedHat' and versioncmp($facts['os']['release']['major'], '8') < 0 {
8+
include 'epel'
9+
Class['epel'] -> Class['rabbitmq']
10+
} else {
11+
class { 'rabbitmq::repo::rhel':
12+
key_source => 'https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey'
13+
}
14+
Class['rabbitmq::repo::rhel'] -> Class['rabbitmq']
15+
}
716
class { 'rabbitmq':
817
cluster => { 'name' => 'rabbit_cluster', 'init_node' => $facts['fqdn'] },
918
config_cluster => true,
@@ -13,10 +22,6 @@ class { 'rabbitmq':
1322
erlang_cookie => 'TESTCOOKIE',
1423
wipe_db_on_cookie_change => false,
1524
}
16-
if $facts['os']['family'] == 'RedHat' {
17-
class { 'erlang': epel_enable => true}
18-
Class['erlang'] -> Class['rabbitmq']
19-
}
2025
EOS
2126

2227
apply_manifest(pp, expect_failures: true)
@@ -29,6 +34,15 @@ class { 'erlang': epel_enable => true}
2934
context 'rabbitmq::wipe_db_on_cookie_change => true' do
3035
it 'runs successfully' do
3136
pp = <<-EOS
37+
if $facts['os']['family'] == 'RedHat' and versioncmp($facts['os']['release']['major'], '8') < 0 {
38+
include 'epel'
39+
Class['epel'] -> Class['rabbitmq']
40+
} else {
41+
class { 'rabbitmq::repo::rhel':
42+
key_source => 'https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey'
43+
}
44+
Class['rabbitmq::repo::rhel'] -> Class['rabbitmq']
45+
}
3246
class { 'rabbitmq':
3347
cluster => { 'name' => 'rabbit_cluster', 'init_node' => $facts['fqdn'] },
3448
config_cluster => true,
@@ -38,10 +52,6 @@ class { 'rabbitmq':
3852
erlang_cookie => 'TESTCOOKIE',
3953
wipe_db_on_cookie_change => true,
4054
}
41-
if $facts['os']['family'] == 'RedHat' {
42-
class { 'erlang': epel_enable => true}
43-
Class['erlang'] -> Class['rabbitmq']
44-
}
4555
EOS
4656

4757
apply_manifest(pp, catch_failures: true)

spec/acceptance/delete_guest_user_spec.rb

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
11
require 'spec_helper_acceptance'
22

33
describe 'rabbitmq with delete_guest_user' do
4+
5+
repos_ensure = case fact('os.family')
6+
when 'RedHat'
7+
true
8+
end
9+
410
context 'delete_guest_user' do
511
it 'runs successfully' do
612
pp = <<-EOS
713
class { 'rabbitmq':
14+
repos_ensure => #{repos_ensure},
815
port => 5672,
916
delete_guest_user => true,
1017
}
11-
if $facts['os']['family'] == 'RedHat' {
12-
class { 'erlang': epel_enable => true}
13-
Class['erlang'] -> Class['rabbitmq']
14-
}
1518
EOS
1619

1720
apply_manifest(pp, catch_failures: true)

spec/acceptance/parameter_spec.rb

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
require 'spec_helper_acceptance'
22

33
describe 'rabbitmq parameter on a vhost:' do
4+
5+
repos_ensure = case fact('os.family')
6+
when 'RedHat'
7+
true
8+
end
9+
410
context 'create parameter resource' do
511
it 'runs successfully' do
612
pp = <<-EOS
7-
if $facts['os']['family'] == 'RedHat' {
8-
class { 'erlang': epel_enable => true }
9-
Class['erlang'] -> Class['rabbitmq']
10-
}
1113
class { 'rabbitmq':
14+
repos_ensure => #{repos_ensure},
1215
service_manage => true,
1316
port => 5672,
1417
delete_guest_user => true,

spec/acceptance/policy_spec.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
context 'create policy resource' do
55
it 'runs successfully' do
66
pp = <<-EOS
7-
if $facts['os']['family'] == 'RedHat' {
8-
class { 'erlang': epel_enable => true }
9-
Class['erlang'] -> Class['rabbitmq']
7+
if $facts['os']['family'] == 'RedHat' and versioncmp($facts['os']['release']['major'], '8') < 0 {
8+
include 'epel'
9+
Class['epel'] -> Class['rabbitmq']
1010
}
1111
class { 'rabbitmq':
1212
service_manage => true,

spec/acceptance/queue_spec.rb

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,14 @@
44
context 'create binding and queue resources when using default management port' do
55
it 'runs successfully' do
66
pp = <<-EOS
7-
if $facts['os']['family'] == 'RedHat' {
8-
class { 'erlang': epel_enable => true }
9-
Class['erlang'] -> Class['rabbitmq']
7+
if $facts['os']['family'] == 'RedHat' and versioncmp($facts['os']['release']['major'], '8') < 0 {
8+
include 'epel'
9+
Class['epel'] -> Class['rabbitmq']
10+
} else {
11+
class { 'rabbitmq::repo::rhel':
12+
key_source => 'https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey'
13+
}
14+
Class['rabbitmq::repo::rhel'] -> Class['rabbitmq']
1015
}
1116
class { 'rabbitmq':
1217
service_manage => true,
@@ -78,9 +83,14 @@ class { 'rabbitmq':
7883
context 'create multiple bindings when same source / destination / vhost but different routing keys' do
7984
it 'runs successfully' do
8085
pp = <<-EOS
81-
if $facts['os']['family'] == 'RedHat' {
82-
class { 'erlang': epel_enable => true }
83-
Class['erlang'] -> Class['rabbitmq']
86+
if $facts['os']['family'] == 'RedHat' and versioncmp($facts['os']['release']['major'], '8') < 0 {
87+
include 'epel'
88+
Class['epel'] -> Class['rabbitmq']
89+
} else {
90+
class { 'rabbitmq::repo::rhel':
91+
key_source => 'https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey'
92+
}
93+
Class['rabbitmq::repo::rhel'] -> Class['rabbitmq']
8494
}
8595
class { 'rabbitmq':
8696
service_manage => true,
@@ -166,9 +176,14 @@ class { 'rabbitmq':
166176
context 'create binding and queue resources when using a non-default management port' do
167177
it 'runs successfully' do
168178
pp = <<-EOS
169-
if $facts['os']['family'] == 'RedHat' {
170-
class { 'erlang': epel_enable => true }
171-
Class['erlang'] -> Class['rabbitmq']
179+
if $facts['os']['family'] == 'RedHat' and versioncmp($facts['os']['release']['major'], '8') < 0 {
180+
include 'epel'
181+
Class['epel'] -> Class['rabbitmq']
182+
} else {
183+
class { 'rabbitmq::repo::rhel':
184+
key_source => 'https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey'
185+
}
186+
Class['rabbitmq::repo::rhel'] -> Class['rabbitmq']
172187
}
173188
class { 'rabbitmq':
174189
service_manage => true,

0 commit comments

Comments
 (0)