From 8aced3d2200d39c75a064ea8240716a50f037920 Mon Sep 17 00:00:00 2001 From: Ivan Chavero Date: Thu, 5 Feb 2015 15:56:28 -0700 Subject: [PATCH] Fix package_provider for RedHat systems The package_provider parameter of the rabbitmq defaults to 'rpm' which can give dependecy problems, this patch sets it to yum which addresses this potential problems. Conflicts: manifests/messaging.pp Change-Id: I8dde5c0c22d227a6b48a53a09952450449e6bd53 --- manifests/messaging.pp | 5 +++++ spec/classes/cloud_messaging_spec.rb | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/manifests/messaging.pp b/manifests/messaging.pp index c43df4d9..9c86d0f4 100644 --- a/manifests/messaging.pp +++ b/manifests/messaging.pp @@ -75,6 +75,7 @@ class cloud::messaging( # Packaging issue: https://bugzilla.redhat.com/show_bug.cgi?id=1033305 if $::osfamily == 'RedHat' { + $package_provider = 'yum' file {'/usr/sbin/rabbitmq-plugins': ensure => link, target => '/usr/lib/rabbitmq/bin/rabbitmq-plugins' @@ -85,6 +86,9 @@ class cloud::messaging( target => '/usr/lib/rabbitmq/bin/rabbitmq-env' } } + else { + $package_provider = $rabbitmq::params::package_provider + } class { 'rabbitmq': delete_guest_user => true, @@ -95,6 +99,7 @@ class cloud::messaging( node_ip_address => $rabbitmq_ip, port => $rabbitmq_port, erlang_cookie => $erlang_cookie, + package_provider => $package_provider, } rabbitmq_vhost { '/': diff --git a/spec/classes/cloud_messaging_spec.rb b/spec/classes/cloud_messaging_spec.rb index 30905ee1..4f370cd8 100644 --- a/spec/classes/cloud_messaging_spec.rb +++ b/spec/classes/cloud_messaging_spec.rb @@ -42,6 +42,7 @@ describe 'cloud::messaging' do :node_ip_address => params[:rabbitmq_ip], :erlang_cookie => params[:erlang_cookie], :port => '5672', + :package_provider => platform_params[:package_provider], ) end @@ -96,6 +97,10 @@ describe 'cloud::messaging' do { :osfamily => 'Debian' } end + let :platform_params do + { :package_provider => 'apt' } + end + it_configures 'openstack messaging' end @@ -104,6 +109,11 @@ describe 'cloud::messaging' do { :osfamily => 'RedHat' } end + + let :platform_params do + { :package_provider => 'yum' } + end + let :params do { :erlang_cookie => 'MY_COOKIE' } end