Skip to content

Commit 4d69036

Browse files
authored
Merge pull request #666 from joshcooper/aix72_5721
(PA-5721) Add puppet8 and drop puppet5 support from AIX
2 parents e80c795 + 8081c8a commit 4d69036

File tree

2 files changed

+42
-72
lines changed

2 files changed

+42
-72
lines changed

manifests/osfamily/aix.pp

+14-17
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,17 @@
1515
# multiple version of AIX. The support sequence is as follows:
1616
#
1717
# puppet 5 up to 5.5.22:
18-
# * AIX verison 6.1 < aix-6.1-power package
19-
# * AIX verison 7.1 < aix-7.1-power package
20-
# * AIX verison 7.2 < aix-7.1-power package
18+
# * AIX version 6.1 < aix-6.1-power package
19+
# * AIX version 7.1 < aix-7.1-power package
20+
# * AIX version 7.2 < aix-7.1-power package
2121
#
22-
# puppet 6 up to 6.19.1 and puppet 7.0.0 (not released in PE):
23-
# * AIX verison 6.1 < aix-7.1-power package
24-
# * AIX verison 7.1 < aix-7.1-power package
25-
# * AIX verison 7.2 < aix-7.1-power package
22+
# puppet 6 up to 6.19.1 and puppet 7.0.0:
23+
# * AIX version 6.1 < aix-7.1-power package
24+
# * AIX version 7.1 < aix-7.1-power package
25+
# * AIX version 7.2 < aix-7.1-power package
26+
#
27+
# puppet 8:
28+
# * AIX version 7.2 < aix-7.2-power package
2629
#
2730
# All other versions will now _only_ use the aix-7.1-power packages (i.e. we now only ship
2831
# one package to support all aix versions).
@@ -31,16 +34,10 @@
3134
# on puppet collection, package version and AIX version.
3235
$_aix_ver_number = regsubst($::platform_tag,'aix-(\d+\.\d+)-power','\1')
3336
if $_aix_ver_number {
34-
if $::puppet_agent::collection =~ /(PC1|puppet5)/ {
35-
# 5.5.22 is the last puppet5 release that ships AIX 6.1 packages
36-
if versioncmp($::puppet_agent::prepare::package_version, '5.5.22') > 0 {
37-
$aix_ver_number = '7.1'
38-
} else {
39-
$aix_ver_number = $_aix_ver_number ? {
40-
/^7\.2$/ => '7.1',
41-
default => $_aix_ver_number,
42-
}
43-
}
37+
if $::puppet_agent::collection =~ /^puppet8/ {
38+
$aix_ver_number = '7.2'
39+
} elsif $::puppet_agent::collection =~ /^puppet7/ {
40+
$aix_ver_number = '7.1'
4441
} else {
4542
# 6.19.1 is the last puppet6 release that ships AIX 6.1 packages
4643
$aix_ver_number = versioncmp($::puppet_agent::prepare::package_version, '6.19.1') ? {

spec/classes/puppet_agent_osfamily_aix_spec.rb

+28-55
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
allow(Puppet::FileSystem).to receive(:exist?).and_call_original
2020
allow(Puppet::FileSystem).to receive(:read_preserve_line_endings).and_call_original
2121
allow(Puppet::FileSystem).to receive(:exist?).with('/opt/puppetlabs/puppet/VERSION').and_return true
22-
allow(Puppet::FileSystem).to receive(:read_preserve_line_endings).with('/opt/puppetlabs/puppet/VERSION').and_return "5.10.200\n"
2322
end
2423

2524
shared_examples 'aix' do |aixver, pkg_aixver, powerver|
@@ -61,13 +60,13 @@
6160
let(:facts) do
6261
common_facts.merge({
6362
architecture: 'PowerPC_POWER8',
64-
platform_tag: 'aix-6.1-power',
63+
platform_tag: 'aix-7.1-power',
6564
})
6665
end
6766
let(:params) do
6867
{
69-
package_version: '5.10.100.1',
70-
collection: 'puppet5',
68+
package_version: '7.10.100.1',
69+
collection: 'puppet7',
7170
source: 'https://fake-pe-master.com',
7271
}
7372
end
@@ -77,57 +76,10 @@
7776
end
7877

7978
it {
80-
is_expected.to contain_file('/opt/puppetlabs/packages/puppet-agent-5.10.100.1-1.aix7.1.ppc.rpm').with_source('https://fake-pe-master.com/packages/2000.0.0/aix-7.1-power/puppet-agent-5.10.100.1-1.aix7.1.ppc.rpm')
79+
is_expected.to contain_file('/opt/puppetlabs/packages/puppet-agent-7.10.100.1-1.aix7.1.ppc.rpm').with_source('https://fake-pe-master.com/packages/2000.0.0/aix-7.1-power/puppet-agent-7.10.100.1-1.aix7.1.ppc.rpm')
8180
}
8281
end
8382

84-
context 'with a PC1 collection' do
85-
let(:params) do
86-
{
87-
package_version: '1.10.100',
88-
collection: 'PC1',
89-
}
90-
end
91-
92-
[['7.2', '7.1', '8'], ['7.1', '7.1', '8'], ['7.1', '7.1', '7'], ['6.1', '6.1', '7']].each do |aixver, pkg_aixver, powerver|
93-
context "aix #{aixver}" do
94-
include_examples 'aix', aixver, pkg_aixver, powerver
95-
end
96-
end
97-
end
98-
99-
context 'with a puppet5 collection' do
100-
context 'with versions up to 5.5.22' do
101-
let(:params) do
102-
{
103-
package_version: '5.4.3',
104-
collection: 'puppet5',
105-
}
106-
end
107-
108-
[['7.2', '7.1', '8'], ['7.1', '7.1', '8'], ['7.1', '7.1', '7'], ['6.1', '6.1', '7']].each do |aixver, pkg_aixver, powerver|
109-
context "aix #{aixver}" do
110-
include_examples 'aix', aixver, pkg_aixver, powerver
111-
end
112-
end
113-
end
114-
115-
context 'with versions higher than 5.5.22' do
116-
let(:params) do
117-
{
118-
package_version: '5.5.23',
119-
collection: 'puppet5',
120-
}
121-
end
122-
123-
[['7.2', '7.1', '8'], ['7.1', '7.1', '8'], ['7.1', '7.1', '7'], ['6.1', '7.1', '7']].each do |aixver, pkg_aixver, powerver|
124-
context "aix #{aixver}" do
125-
include_examples 'aix', aixver, pkg_aixver, powerver
126-
end
127-
end
128-
end
129-
end
130-
13183
context 'with a puppet6 collection' do
13284
context 'with versions up to 6.19.1' do
13385
let(:params) do
@@ -177,6 +129,23 @@
177129
end
178130
end
179131

132+
context 'with a puppet8 collection' do
133+
context 'with versions greater than or equal to 8.0.0' do
134+
let(:params) do
135+
{
136+
package_version: '8.0.0',
137+
collection: 'puppet8',
138+
}
139+
end
140+
141+
[['7.2', '7.2', '7']].each do |aixver, pkg_aixver, powerver|
142+
context "aix #{aixver}" do
143+
include_examples 'aix', aixver, pkg_aixver, powerver
144+
end
145+
end
146+
end
147+
end
148+
180149
context 'with package_version auto' do
181150
let(:params) do
182151
{
@@ -185,16 +154,20 @@
185154
end
186155
let(:facts) do
187156
common_facts.merge({
188-
serverversion: '5.10.200'
157+
serverversion: '7.10.200'
189158
})
190159
end
191-
let(:rpmname) { 'puppet-agent-5.10.200-1.aix7.1.ppc.rpm' }
160+
let(:rpmname) { 'puppet-agent-7.10.200-1.aix7.1.ppc.rpm' }
161+
162+
before(:each) do
163+
allow(Puppet::FileSystem).to receive(:read_preserve_line_endings).with('/opt/puppetlabs/puppet/VERSION').and_return "7.10.200\n"
164+
end
192165

193166
it {
194167
is_expected.to contain_package('puppet-agent')
195168
.with({
196169
'source' => "/opt/puppetlabs/packages/#{rpmname}",
197-
'ensure' => '5.10.200',
170+
'ensure' => '7.10.200',
198171
'provider' => 'rpm',
199172
})
200173
}

0 commit comments

Comments
 (0)