From e50308cc6da360cbe1fdfdfa5ae4a3593a6949f7 Mon Sep 17 00:00:00 2001 From: Pradeep Kilambi Date: Tue, 14 Feb 2017 17:01:02 -0500 Subject: [PATCH] Install python-redis if coordination url uses it If tooz coordination is enabled and url is using redis lets ensure python-redis is installed. Change-Id: Iefe933f45353810200ec9c76ffc92f051db7a5e6 --- manifests/evaluator.pp | 6 ++++++ manifests/params.pp | 2 ++ .../install-python-redis-d695b95171f6c392.yaml | 4 ++++ spec/classes/aodh_evaluator_spec.rb | 13 +++++++++++-- 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 releasenotes/notes/install-python-redis-d695b95171f6c392.yaml diff --git a/manifests/evaluator.pp b/manifests/evaluator.pp index 01be8251..aade12f9 100644 --- a/manifests/evaluator.pp +++ b/manifests/evaluator.pp @@ -31,6 +31,12 @@ class aodh::evaluator ( aodh_config { 'coordination/backend_url' : value => $coordination_url; } + if ($coordination_url =~ /^redis/ ) { + ensure_resource('package', 'python-redis', { + name => $::aodh::params::redis_package_name, + tag => 'openstack', + }) + } } ensure_resource( 'package', [$::aodh::params::evaluator_package_name], diff --git a/manifests/params.pp b/manifests/params.pp index 4ef1ce96..44558647 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -24,6 +24,7 @@ class aodh::params { $listener_service_name = 'openstack-aodh-listener' $aodh_wsgi_script_path = '/var/www/cgi-bin/aodh' $aodh_wsgi_script_source = '/usr/lib/python2.7/site-packages/aodh/api/app.wsgi' + $redis_package_name = 'python-redis' } 'Debian': { $common_package_name = 'aodh-common' @@ -43,6 +44,7 @@ class aodh::params { $listener_service_name = 'aodh-listener' $aodh_wsgi_script_path = '/usr/lib/cgi-bin/aodh' $aodh_wsgi_script_source = '/usr/share/aodh/app.wsgi' + $redis_package_name = 'python-redis' } default: { fail("Unsupported osfamily: ${::osfamily} operatingsystem") diff --git a/releasenotes/notes/install-python-redis-d695b95171f6c392.yaml b/releasenotes/notes/install-python-redis-d695b95171f6c392.yaml new file mode 100644 index 00000000..1b92ea81 --- /dev/null +++ b/releasenotes/notes/install-python-redis-d695b95171f6c392.yaml @@ -0,0 +1,4 @@ +--- +fixes: + - Install python-redis if the coordination backend url is redis. This is + an indirect dependency on evaluator coordination to work. diff --git a/spec/classes/aodh_evaluator_spec.rb b/spec/classes/aodh_evaluator_spec.rb index c9a4d71c..79bf92be 100644 --- a/spec/classes/aodh_evaluator_spec.rb +++ b/spec/classes/aodh_evaluator_spec.rb @@ -20,6 +20,13 @@ describe 'aodh::evaluator' do it 'configures backend_url' do is_expected.to contain_aodh_config('coordination/backend_url').with_value('redis://localhost:6379') end + + it 'installs python-redis package' do + is_expected.to contain_package(platform_params[:redis_package_name]).with( + :name => platform_params[:redis_package_name], + :tag => 'openstack' + ) + end end context 'when enabled' do @@ -98,10 +105,12 @@ describe 'aodh::evaluator' do case facts[:osfamily] when 'Debian' { :evaluator_package_name => 'aodh-evaluator', - :evaluator_service_name => 'aodh-evaluator' } + :evaluator_service_name => 'aodh-evaluator', + :redis_package_name => 'python-redis' } when 'RedHat' { :evaluator_package_name => 'openstack-aodh-evaluator', - :evaluator_service_name => 'openstack-aodh-evaluator' } + :evaluator_service_name => 'openstack-aodh-evaluator', + :redis_package_name => 'python-redis' } end end it_configures 'aodh-evaluator'