From 972f66aeae0596d22ed125199531a10a8e1be319 Mon Sep 17 00:00:00 2001 From: Tobias Urdin Date: Mon, 30 Mar 2020 10:25:37 +0200 Subject: [PATCH] Replace hardcoded CentOS version with fact Changes the hardcoded CentOS version with using the major OS release fact. Change-Id: Id04670b11fb16270bc6e3e220dd0d80086df90e4 --- manifests/repo/redhat/redhat.pp | 14 +++++++++--- ...penstack_extras_repo_redhat_redhat_spec.rb | 22 +++++++++++++++++++ 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/manifests/repo/redhat/redhat.pp b/manifests/repo/redhat/redhat.pp index 3a954ef..9b512e8 100644 --- a/manifests/repo/redhat/redhat.pp +++ b/manifests/repo/redhat/redhat.pp @@ -100,7 +100,7 @@ class openstack_extras::repo::redhat::redhat( $rdo_hash = { 'rdo-release' => { - 'baseurl' => "${centos_mirror_url}/centos/7/cloud/\$basearch/openstack-${release}/", + 'baseurl' => "${centos_mirror_url}/centos/${::os['release']['major']}/cloud/\$basearch/openstack-${release}/", 'descr' => "OpenStack ${release_cap} Repository", 'gpgkey' => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud', } @@ -116,10 +116,18 @@ class openstack_extras::repo::redhat::redhat( } if $manage_virt and ($::operatingsystem != 'Fedora') { + $os_major = $::os['release']['major'] + + if Integer.new($os_major) >= 8 { + $virt_baseurl = "${centos_mirror_url}/centos/${os_major}/virt/\$basearch/advanced-virtualization/" + } else { + $virt_baseurl = "${centos_mirror_url}/centos/${os_major}/virt/\$basearch/kvm-common/" + } + $virt_hash = { 'rdo-qemu-ev' => { - 'baseurl' => "${centos_mirror_url}/centos/7/virt/\$basearch/kvm-common/", - 'descr' => 'RDO CentOS-7 - QEMU EV', + 'baseurl' => $virt_baseurl, + 'descr' => "RDO CentOS-${$os_major} - QEMU EV", 'gpgkey' => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Virtualization', } } diff --git a/spec/classes/openstack_extras_repo_redhat_redhat_spec.rb b/spec/classes/openstack_extras_repo_redhat_redhat_spec.rb index e60f9fc..38de428 100644 --- a/spec/classes/openstack_extras_repo_redhat_redhat_spec.rb +++ b/spec/classes/openstack_extras_repo_redhat_redhat_spec.rb @@ -88,6 +88,27 @@ describe 'openstack_extras::repo::redhat::redhat' do it { should_not contain_yumrepo('epel') } end + context 'with major release 8 or later and virt repo enabled' do + let :params do + default_params.merge!( :manage_virt => true ) + end + + before do + facts.merge!( :os => {'release' => {'major' => 8}} ) + end + + it { should contain_yumrepo('rdo-qemu-ev').with( + :baseurl => "http://mirror.centos.org/centos/8/virt/$basearch/advanced-virtualization/", + :descr => 'RDO CentOS-8 - QEMU EV', + :gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Virtualization', + :enabled => '1', + :gpgcheck => '1', + :mirrorlist => 'absent', + :require => 'Anchor[openstack_extras_redhat]', + :notify => 'Exec[yum_refresh]' + )} + end + context 'with overridden release' do let :params do default_params.merge!({ :release => 'juno' }) @@ -248,6 +269,7 @@ describe 'openstack_extras::repo::redhat::redhat' do facts.merge!(OSDefaults.get_facts({ :operatingsystem => 'RedHat', :operatingsystemrelease => '7.1', :operatingsystemmajrelease => '7', + :os => {'release' => {'major' => '7'}}, :puppetversion => Puppet.version })) end