Skip to content

Commit 1b436d8

Browse files
authored
Merge pull request #689 from amitkarsale/PE-37302
(PE-37302) Update puppet_agent module for recent AIX changes in PE
2 parents d86ca64 + a13603f commit 1b436d8

File tree

2 files changed

+62
-5
lines changed

2 files changed

+62
-5
lines changed

manifests/osfamily/aix.pp

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,11 @@
2424
# * AIX version 6.1 < aix-7.1-power package
2525
# * AIX version 7.1 < aix-7.1-power package
2626
# * AIX version 7.2 < aix-7.1-power package
27+
# * AIX version 7.3 < aix-7.1-power package
2728
#
2829
# puppet 8:
2930
# * AIX version 7.2 < aix-7.2-power package
31+
# * AIX version 7.3 < aix-7.2-power package
3032
#
3133
# All other versions will now _only_ use the aix-7.1-power packages (i.e. we now only ship
3234
# one package to support all aix versions).
@@ -41,21 +43,28 @@
4143
$aix_ver_number = '7.1'
4244
} else {
4345
# 6.19.1 is the last puppet6 release that ships AIX 6.1 packages
46+
4447
$aix_ver_number = versioncmp($puppet_agent::prepare::package_version, '6.19.1') ? {
4548
1 => '7.1',
4649
default => '6.1'
4750
}
4851
}
4952
}
5053

54+
$aix_class_name = if (versioncmp($pe_server_version, '2021.7.7') < 0) or (versioncmp($pe_server_version, '2023.0') >= 0 and versioncmp($pe_server_version, '2023.6') < 0) {
55+
"aix-${aix_ver_number}-power"
56+
} else {
57+
'aix-power'
58+
}
59+
5160
if $puppet_agent::absolute_source {
5261
$source = $puppet_agent::absolute_source
5362
} elsif $puppet_agent::alternate_pe_source {
54-
$source = "${puppet_agent::alternate_pe_source}/packages/${pe_server_version}/aix-${aix_ver_number}-power/${puppet_agent::package_name}-${puppet_agent::prepare::package_version}-1.aix${aix_ver_number}.ppc.rpm"
63+
$source = "${puppet_agent::alternate_pe_source}/packages/${pe_server_version}/${aix_class_name}/${puppet_agent::package_name}-${puppet_agent::prepare::package_version}-1.aix${aix_ver_number}.ppc.rpm"
5564
} elsif $puppet_agent::source {
56-
$source = "${puppet_agent::source}/packages/${pe_server_version}/aix-${aix_ver_number}-power/${puppet_agent::package_name}-${puppet_agent::prepare::package_version}-1.aix${aix_ver_number}.ppc.rpm"
65+
$source = "${puppet_agent::source}/packages/${pe_server_version}/${aix_class_name}/${puppet_agent::package_name}-${puppet_agent::prepare::package_version}-1.aix${aix_ver_number}.ppc.rpm"
5766
} else {
58-
$source = "${puppet_agent::aix_source}/${pe_server_version}/aix-${aix_ver_number}-power/${puppet_agent::package_name}-${puppet_agent::prepare::package_version}-1.aix${aix_ver_number}.ppc.rpm"
67+
$source = "${puppet_agent::aix_source}/${pe_server_version}/${aix_class_name}/${puppet_agent::package_name}-${puppet_agent::prepare::package_version}-1.aix${aix_ver_number}.ppc.rpm"
5968
}
6069

6170
class { 'puppet_agent::prepare::package':

spec/classes/puppet_agent_osfamily_aix_spec.rb

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,30 @@
5757
end
5858

5959
context 'with a user specified source' do
60+
let(:facts) do
61+
common_facts.merge({
62+
architecture: 'PowerPC_POWER8',
63+
platform_tag: 'aix-6.1-power',
64+
})
65+
end
66+
let(:params) do
67+
{
68+
package_version: '6.10.100.1',
69+
collection: 'puppet6',
70+
source: 'https://fake-pe-master.com',
71+
}
72+
end
73+
74+
before(:each) do
75+
Puppet::Parser::Functions.newfunction(:pe_build_version, type: :rvalue) { |_args| '2000.0.0' }
76+
end
77+
78+
it {
79+
is_expected.to contain_file('/opt/puppetlabs/packages/puppet-agent-6.10.100.1-1.aix6.1.ppc.rpm').with_source('https://fake-pe-master.com/packages/2000.0.0/aix-6.1-power/puppet-agent-6.10.100.1-1.aix6.1.ppc.rpm')
80+
}
81+
end
82+
83+
context 'with a user specified source for puppet 7' do
6084
let(:facts) do
6185
common_facts.merge({
6286
architecture: 'PowerPC_POWER8',
@@ -72,11 +96,35 @@
7296
end
7397

7498
before(:each) do
75-
Puppet::Parser::Functions.newfunction(:pe_build_version, type: :rvalue) { |_args| '2000.0.0' }
99+
Puppet::Parser::Functions.newfunction(:pe_build_version, type: :rvalue) { |_args| '2021.7.7' }
100+
end
101+
102+
it {
103+
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/2021.7.7/aix-power/puppet-agent-7.10.100.1-1.aix7.1.ppc.rpm')
104+
}
105+
end
106+
107+
context 'with a user specified source for puppet 8' do
108+
let(:facts) do
109+
common_facts.merge({
110+
architecture: 'PowerPC_POWER8',
111+
platform_tag: 'aix-7.2-power',
112+
})
113+
end
114+
let(:params) do
115+
{
116+
package_version: '8.10.100.1',
117+
collection: 'puppet8',
118+
source: 'https://fake-pe-master.com',
119+
}
120+
end
121+
122+
before(:each) do
123+
Puppet::Parser::Functions.newfunction(:pe_build_version, type: :rvalue) { |_args| '2023.6.0' }
76124
end
77125

78126
it {
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')
127+
is_expected.to contain_file('/opt/puppetlabs/packages/puppet-agent-8.10.100.1-1.aix7.2.ppc.rpm').with_source('https://fake-pe-master.com/packages/2023.6.0/aix-power/puppet-agent-8.10.100.1-1.aix7.2.ppc.rpm')
80128
}
81129
end
82130

0 commit comments

Comments
 (0)