Skip to content

Commit 9958bd3

Browse files
committed
feat: redhat 9 support
Minor rework to support installation on a redhat 9 server. The primary change is that the powertools repo has been replaced with crb (code ready builders) in major release 9.
1 parent 6593f3a commit 9958bd3

File tree

2 files changed

+53
-22
lines changed

2 files changed

+53
-22
lines changed

manifests/repo.pp

+19-12
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,28 @@
1414
Yumrepo['powerdns'] -> Package <| title == $powerdns::authoritative_package_name |>
1515
Yumrepo['powerdns-recursor'] -> Package <| title == $powerdns::recursor_package_name |>
1616

17+
$repo_desc = $facts['os']['release']['major'] ? {
18+
'8' => 'PowerTools',
19+
default => 'CRB',
20+
}
21+
$repo_name = $repo_desc.downcase()
1722
if ($facts['os']['name'] == 'Rocky') {
18-
$mirrorlist = "https://mirrors.rockylinux.org/mirrorlist?arch=\$basearch&repo=PowerTools-\$releasever"
19-
$gpgkey = 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial'
23+
$code_repo_params = {
24+
mirrorlist => "https://mirrors.rockylinux.org/mirrorlist?arch=\$basearch&repo=${repo_desc}-\$releasever",
25+
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial',
26+
}
2027
} else {
21-
$mirrorlist = "http://mirrorlist.centos.org/?release=\$releasever&arch=\$basearch&repo=PowerTools&infra=\$infra"
22-
$gpgkey = 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial'
28+
$code_repo_params = {
29+
mirrorlist => "http://mirrorlist.centos.org/?release=\$releasever&arch=\$basearch&repo=${repo_desc}&infra=\$infra",
30+
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial',
31+
}
2332
}
24-
25-
yumrepo { 'powertools':
26-
ensure => 'present',
27-
descr => 'PowerTools',
28-
mirrorlist => $mirrorlist,
29-
enabled => 'true',
30-
gpgkey => $gpgkey,
31-
gpgcheck => 'true',
33+
yumrepo { $repo_name:
34+
ensure => 'present',
35+
descr => "${$facts['os']['name']} Linux \$releasever - ${repo_desc}",
36+
enabled => 'true',
37+
gpgcheck => 'true',
38+
* => $code_repo_params,
3239
}
3340

3441
yumrepo { 'powerdns':

spec/classes/powerdns_init_spec.rb

+34-10
Original file line numberDiff line numberDiff line change
@@ -115,16 +115,40 @@
115115
case facts[:osfamily]
116116
when 'RedHat'
117117
it { is_expected.to contain_package('yum-plugin-priorities') } if facts[:operatingsystemmajrelease].to_i < 8
118-
it { is_expected.to contain_yumrepo('powertools') } if facts[:operatingsystemmajrelease].to_i >= 8
119-
if facts[:operatingsystem] != 'Rocky' && facts[:operatingsystemmajrelease].to_i >= 8
120-
it {
121-
is_expected.to contain_yumrepo('powertools').with('mirrorlist' => 'http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=PowerTools&infra=$infra')
122-
}
123-
end
124-
if facts[:operatingsystem] == 'Rocky' && facts[:operatingsystemmajrelease].to_i >= 8
125-
it {
126-
is_expected.to contain_yumrepo('powertools').with('mirrorlist' => 'https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=PowerTools-$releasever')
127-
}
118+
case facts[:operatingsystemmajrelease]
119+
when '8'
120+
it { is_expected.to contain_yumrepo('powertools') }
121+
if facts[:operatingsystem] != 'Rocky'
122+
it {
123+
is_expected.to contain_yumrepo('powertools').with(
124+
'mirrorlist' => 'http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=PowerTools&infra=$infra',
125+
)
126+
}
127+
end
128+
if facts[:operatingsystem] == 'Rocky'
129+
it {
130+
is_expected.to contain_yumrepo('powertools').with(
131+
'mirrorlist' => 'https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=PowerTools-$releasever',
132+
)
133+
}
134+
end
135+
when '9'
136+
it { is_expected.to contain_yumrepo('CRB') }
137+
if facts[:operatingsystem] == 'Rocky'
138+
it {
139+
is_expected.to contain_yumrepo('crb').with(
140+
'mirrorlist' => 'http://mirrorlist.rockylinux.org/mirrorlist?arch=$basearch&repo=CRB-$releasever',
141+
'descr' => 'Rocky Linux $releasever - CRB',
142+
)
143+
}
144+
else
145+
it {
146+
is_expected.to contain_yumrepo('crvb').with(
147+
'mirrorlist' => 'http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=CRB&infra=$infra',
148+
'descr' => 'CentOS Linux $releasever - CRB',
149+
)
150+
}
151+
end
128152
end
129153
it { is_expected.to contain_yumrepo('powerdns') }
130154
it { is_expected.to contain_yumrepo('powerdns').with('baseurl' => 'http://repo.powerdns.com/centos/$basearch/$releasever/auth-48') }

0 commit comments

Comments
 (0)