From 481fe00110addba137f70d7fa03f0afa87d879fc Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Fri, 20 May 2016 16:32:11 +0200 Subject: [PATCH] repo/redhat: install yum-plugin-priorities prior to Yumrepo yum-plugin-priorities needs to be installed before installing any package, otherwise if we install it after having repos in place, it becomes useless. This patch makes sure we install yum-plugin-priorities before any Yumrepo resource, so we make sure that Yum priorities will be addressed correctly. Change-Id: If99af9b7fd90b1408747a4be874aebeb05dfb2d6 --- manifests/repo/redhat/redhat.pp | 17 +++++++++++------ .../openstack_extras_repo_redhat_redhat_spec.rb | 12 ++++++++---- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/manifests/repo/redhat/redhat.pp b/manifests/repo/redhat/redhat.pp index baf2f9f..ac3aed2 100644 --- a/manifests/repo/redhat/redhat.pp +++ b/manifests/repo/redhat/redhat.pp @@ -87,12 +87,6 @@ class openstack_extras::repo::redhat::redhat( anchor { 'openstack_extras_redhat': } - if $manage_priorities { - package { 'yum-plugin-priorities': - ensure => 'present', - } - } - if $manage_rdo { $release_cap = capitalize($release) @@ -155,6 +149,17 @@ class openstack_extras::repo::redhat::redhat( resources { 'yumrepo': purge => true } } + if $manage_priorities { + exec { 'installing_yum-plugin-priorities': + command => '/usr/bin/yum install -y yum-plugin-priorities', + logoutput => 'on_failure', + tries => 3, + try_sleep => 1, + unless => '/usr/bin/rpm -qa | /usr/bin/grep -q yum-plugin-priorities', + } + Exec['installing_yum-plugin-priorities'] -> Yumrepo<||> + } + if $package_require { Yumrepo<||> -> Package<||> } diff --git a/spec/classes/openstack_extras_repo_redhat_redhat_spec.rb b/spec/classes/openstack_extras_repo_redhat_redhat_spec.rb index 2f4ebd1..0f2d886 100644 --- a/spec/classes/openstack_extras_repo_redhat_redhat_spec.rb +++ b/spec/classes/openstack_extras_repo_redhat_redhat_spec.rb @@ -61,9 +61,13 @@ describe 'openstack_extras::repo::redhat::redhat' do :notify => "Exec[yum_refresh]" )} - it { is_expected.to contain_package('yum-plugin-priorities').with( - :ensure => 'present', - )} + it { is_expected.to contain_exec('installing_yum-plugin-priorities').with( + :command => '/usr/bin/yum install -y yum-plugin-priorities', + :logoutput => 'on_failure', + :tries => 3, + :try_sleep => 1, + :unless => '/usr/bin/rpm -qa | /usr/bin/grep -q yum-plugin-priorities', + ) } # 'metalink' property is supported from Puppet 3.5 if Puppet.version.to_f >= 3.5 @@ -209,7 +213,7 @@ describe 'openstack_extras::repo::redhat::redhat' do default_params.merge!({ :manage_priorities => false }) end - it { is_expected.to_not contain_package('yum-plugin-priorities') } + it { is_expected.to_not contain_exec('installing_yum-plugin-priorities') } end end end