Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .fixtures.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ fixtures:
stdlib: 'https://github.com/puppetlabs/puppetlabs-stdlib'
apt: 'https://github.com/puppetlabs/puppetlabs-apt'
archive: 'https://github.com/voxpupuli/puppet-archive'
erlang: 'https://github.com/garethr/garethr-erlang'
erlang: 'https://github.com/voxpupuli/puppet-erlang'
systemd: 'https://github.com/camptocamp/puppet-systemd'
yumrepo_core:
repo: 'https://github.com/puppetlabs/puppetlabs-yumrepo_core'
Expand Down
2 changes: 1 addition & 1 deletion data/common.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ rabbitmq::package_gpg_key: ~
rabbitmq::package_name: 'rabbitmq'
rabbitmq::package_source: ~
rabbitmq::package_provider: ~
rabbitmq::repos_ensure: false
rabbitmq::repos_ensure: true
rabbitmq::manage_python: true
rabbitmq::python_package: 'python'
rabbitmq::rabbitmq_user: 'rabbitmq'
Expand Down
4 changes: 2 additions & 2 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@
# Name of the package required by rabbitmqadmin.
# @param repos_ensure
# Ensure that a repo with the official (and newer) RabbitMQ package is configured, along with its signing key.
# Defaults to false (use system packages). This does not ensure that soft dependencies (like EPEL on RHEL systems) are present.
# Defaults to true (use RabbitMQ repos). This does not ensure that soft dependencies (like EPEL on RHEL systems) are present.
# It also does not solve the erlang dependency. See https://www.rabbitmq.com/which-erlang.html for a good breakdown of the
# different ways of handling the erlang deps. See also https://github.com/voxpupuli/puppet-rabbitmq/issues/788
# @param service_ensure
Expand Down Expand Up @@ -329,7 +329,7 @@
Variant[String, Array] $package_name = 'rabbitmq',
Optional[String] $package_source = undef,
Optional[String] $package_provider = undef,
Boolean $repos_ensure = false,
Boolean $repos_ensure = true,
Boolean $manage_python = true,
String $python_package = 'python',
String $rabbitmq_user = 'rabbitmq',
Expand Down
62 changes: 46 additions & 16 deletions spec/acceptance/class_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,13 @@
context 'default class inclusion' do
let(:pp) do
<<-EOS
class { 'rabbitmq': }
if $facts['os']['family'] == 'RedHat' {
class { 'erlang': epel_enable => true}
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
}
if $facts['os']['family'] == 'RedHat' {
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq': }
EOS
end

Expand Down Expand Up @@ -55,13 +57,13 @@ class { 'erlang': epel_enable => true}
context 'disable and stop service' do
let(:pp) do
<<-EOS
class { 'rabbitmq':
service_ensure => 'stopped',
}
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
if $facts['os']['family'] == 'RedHat' {
class { 'erlang': epel_enable => true}
Class['erlang'] -> Class['rabbitmq']
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq': }
EOS
end

Expand All @@ -76,22 +78,26 @@ class { 'erlang': epel_enable => true}
context 'service is unmanaged' do
it 'runs successfully' do
pp_pre = <<-EOS
class { 'rabbitmq': }
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
if $facts['os']['family'] == 'RedHat' {
class { 'erlang': epel_enable => true}
Class['erlang'] -> Class['rabbitmq']
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq': }
EOS

pp = <<-EOS
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
if $facts['os']['family'] == 'RedHat' {
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq':
service_manage => false,
service_ensure => 'stopped',
}
if $facts['os']['family'] == 'RedHat' {
class { 'erlang': epel_enable => true}
Class['erlang'] -> Class['rabbitmq']
}
EOS

apply_manifest(pp_pre, catch_failures: true)
Expand All @@ -107,6 +113,12 @@ class { 'erlang': epel_enable => true}
context 'binding on all interfaces' do
let(:pp) do
<<-EOS
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
if $facts['os']['family'] == 'RedHat' {
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq':
service_manage => true,
port => 5672,
Expand Down Expand Up @@ -137,6 +149,12 @@ class { 'rabbitmq':
context 'binding to localhost only' do
let(:pp) do
<<-EOS
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
if $facts['os']['family'] == 'RedHat' {
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq':
service_manage => true,
port => 5672,
Expand Down Expand Up @@ -168,6 +186,12 @@ class { 'rabbitmq':
context 'ssl enabled' do
let(:pp) do
<<-EOS
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
if $facts['os']['family'] == 'RedHat' {
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq':
service_manage => true,
admin_enable => true,
Expand Down Expand Up @@ -197,6 +221,12 @@ class { 'rabbitmq':
context 'different management_ip_address and node_ip_address' do
let(:pp) do
<<-EOS
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
if $facts['os']['family'] == 'RedHat' {
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq':
service_manage => true,
port => 5672,
Expand Down
20 changes: 12 additions & 8 deletions spec/acceptance/clustering_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,19 @@
context 'rabbitmq::wipe_db_on_cookie_change => false' do
it 'runs successfully' do
pp = <<-EOS
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
if $facts['os']['family'] == 'RedHat' {
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq':
config_cluster => true,
cluster_nodes => ['rabbit1', 'rabbit2'],
cluster_node_type => 'ram',
erlang_cookie => 'TESTCOOKIE',
wipe_db_on_cookie_change => false,
}
if $facts['os']['family'] == 'RedHat' {
class { 'erlang': epel_enable => true}
Class['erlang'] -> Class['rabbitmq']
}
EOS

apply_manifest(pp, expect_failures: true)
Expand All @@ -27,17 +29,19 @@ class { 'erlang': epel_enable => true}
context 'rabbitmq::wipe_db_on_cookie_change => true' do
it 'runs successfully' do
pp = <<-EOS
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
if $facts['os']['family'] == 'RedHat' {
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq':
config_cluster => true,
cluster_nodes => ['rabbit1', 'rabbit2'],
cluster_node_type => 'ram',
erlang_cookie => 'TESTCOOKIE',
wipe_db_on_cookie_change => true,
}
if $facts['os']['family'] == 'RedHat' {
class { 'erlang': epel_enable => true}
Class['erlang'] -> Class['rabbitmq']
}
EOS

apply_manifest(pp, catch_failures: true)
Expand Down
10 changes: 6 additions & 4 deletions spec/acceptance/delete_guest_user_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@
context 'delete_guest_user' do
it 'runs successfully' do
pp = <<-EOS
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
if $facts['os']['family'] == 'RedHat' {
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq':
port => 5672,
delete_guest_user => true,
}
if $facts['os']['family'] == 'RedHat' {
class { 'erlang': epel_enable => true}
Class['erlang'] -> Class['rabbitmq']
}
EOS

apply_manifest(pp, catch_failures: true)
Expand Down
6 changes: 4 additions & 2 deletions spec/acceptance/parameter_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@
context 'create parameter resource' do
it 'runs successfully' do
pp = <<-EOS
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
if $facts['os']['family'] == 'RedHat' {
class { 'erlang': epel_enable => true }
Class['erlang'] -> Class['rabbitmq']
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq':
service_manage => true,
Expand Down
6 changes: 4 additions & 2 deletions spec/acceptance/policy_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@
context 'create policy resource' do
it 'runs successfully' do
pp = <<-EOS
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
if $facts['os']['family'] == 'RedHat' {
class { 'erlang': epel_enable => true }
Class['erlang'] -> Class['rabbitmq']
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq':
service_manage => true,
Expand Down
18 changes: 12 additions & 6 deletions spec/acceptance/queue_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@
context 'create binding and queue resources when using default management port' do
it 'runs successfully' do
pp = <<-EOS
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
if $facts['os']['family'] == 'RedHat' {
class { 'erlang': epel_enable => true }
Class['erlang'] -> Class['rabbitmq']
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq':
service_manage => true,
Expand Down Expand Up @@ -80,9 +82,11 @@ class { 'rabbitmq':
context 'create multiple bindings when same source / destination / vhost but different routing keys' do
it 'runs successfully' do
pp = <<-EOS
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
if $facts['os']['family'] == 'RedHat' {
class { 'erlang': epel_enable => true }
Class['erlang'] -> Class['rabbitmq']
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq':
service_manage => true,
Expand Down Expand Up @@ -170,9 +174,11 @@ class { 'rabbitmq':
context 'create binding and queue resources when using a non-default management port' do
it 'runs successfully' do
pp = <<-EOS
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
if $facts['os']['family'] == 'RedHat' {
class { 'erlang': epel_enable => true }
Class['erlang'] -> Class['rabbitmq']
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq':
service_manage => true,
Expand Down
40 changes: 24 additions & 16 deletions spec/acceptance/rabbitmqadmin_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@
context 'downloads the cli tools' do
it 'runs successfully' do
pp = <<-EOS
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
if $facts['os']['family'] == 'RedHat' {
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq':
admin_enable => true,
service_manage => true,
}
if $facts['os']['family'] == 'RedHat' {
class { 'erlang': epel_enable => true}
Class['erlang'] -> Class['rabbitmq']
}
EOS

apply_manifest(pp, catch_failures: true)
Expand All @@ -25,14 +27,16 @@ class { 'erlang': epel_enable => true}
context 'does nothing if service is unmanaged' do
it 'runs successfully' do
pp = <<-EOS
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
if $facts['os']['family'] == 'RedHat' {
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq':
admin_enable => true,
service_manage => false,
}
if $facts['os']['family'] == 'RedHat' {
class { 'erlang': epel_enable => true}
Class['erlang'] -> Class['rabbitmq']
}
EOS

shell('rm -f /var/lib/rabbitmq/rabbitmqadmin')
Expand All @@ -48,28 +52,32 @@ class { 'erlang': epel_enable => true}
it 'runs successfully' do
# make sure credential change takes effect before admin_enable
pp_pre = <<-EOS
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
if $facts['os']['family'] == 'RedHat' {
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq':
service_manage => true,
default_user => 'foobar',
default_pass => 'bazblam',
}
if $facts['os']['family'] == 'RedHat' {
class { 'erlang': epel_enable => true}
Class['erlang'] -> Class['rabbitmq']
}
EOS

pp = <<-EOS
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
if $facts['os']['family'] == 'RedHat' {
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq':
admin_enable => true,
service_manage => true,
default_user => 'foobar',
default_pass => 'bazblam',
}
if $facts['os']['family'] == 'RedHat' {
class { 'erlang': epel_enable => true}
Class['erlang'] -> Class['rabbitmq']
}
EOS

shell('rm -f /var/lib/rabbitmq/rabbitmqadmin')
Expand Down
6 changes: 4 additions & 2 deletions spec/acceptance/user_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@
context 'create user resource' do
it 'runs successfully' do
pp = <<-EOS
class { 'erlang': }
Class['erlang'] -> Class['rabbitmq']
if $facts['os']['family'] == 'RedHat' {
class { 'erlang': epel_enable => true }
Class['erlang'] -> Class['rabbitmq']
class { 'epel': }
Class['epel'] -> Class['rabbitmq']
}
class { 'rabbitmq':
service_manage => true,
Expand Down
Loading