Skip to content

Commit 10e5a6b

Browse files
authored
Merge pull request #604 from mhashizume/MODULES-11315/main/aio_upgrade
(MODULES-11315) Updates AIO auto version logic
2 parents e7c8c6f + f2cb6f9 commit 10e5a6b

File tree

5 files changed

+30
-1
lines changed

5 files changed

+30
-1
lines changed

manifests/init.pp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,10 @@
163163
fail('Unable to install x64 on a x86 system')
164164
}
165165

166+
# The AIO package version and Puppet version can, on rare occasion, diverge.
167+
# This logic checks for the AIO version of the server, since that's what the package manager cares about.
166168
if $package_version == 'auto' {
167-
$master_or_package_version = $::serverversion
169+
$master_or_package_version = chomp(file('/opt/puppetlabs/puppet/VERSION'))
168170
} else {
169171
$master_or_package_version = $package_version
170172
}

spec/classes/puppet_agent_osfamily_aix_spec.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@
1313
}
1414
end
1515

16+
before(:each) do
17+
allow(Puppet::FileSystem).to receive(:exist?).and_call_original
18+
allow(Puppet::FileSystem).to receive(:read_preserve_line_endings).and_call_original
19+
allow(Puppet::FileSystem).to receive(:exist?).with('/opt/puppetlabs/puppet/VERSION').and_return true
20+
allow(Puppet::FileSystem).to receive(:read_preserve_line_endings).with('/opt/puppetlabs/puppet/VERSION').and_return "5.10.200\n"
21+
end
22+
1623
shared_examples 'aix' do |aixver, pkg_aixver, powerver|
1724
let(:rpmname) { "puppet-agent-#{params[:package_version]}-1.aix#{pkg_aixver}.ppc.rpm" }
1825
let(:tag) { "aix-#{pkg_aixver}-power" }

spec/classes/puppet_agent_osfamily_darwin_spec.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@
1111
Puppet::Parser::Functions.newfunction(:pe_compiling_server_aio_build, type: :rvalue) do |_args|
1212
master_package_version
1313
end
14+
15+
allow(Puppet::FileSystem).to receive(:exist?).and_call_original
16+
allow(Puppet::FileSystem).to receive(:read_preserve_line_endings).and_call_original
17+
allow(Puppet::FileSystem).to receive(:exist?).with('/opt/puppetlabs/puppet/VERSION').and_return true
18+
allow(Puppet::FileSystem).to receive(:read_preserve_line_endings).with('/opt/puppetlabs/puppet/VERSION').and_return "5.10.200\n"
1419
end
1520

1621
package_version = '1.10.100'

spec/classes/puppet_agent_osfamily_windows_spec.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
pe_version = '2000.0.0'
66

77
let(:params) { { package_version: package_version } }
8+
let(:version_file) { '/opt/puppetlabs/puppet/VERSION' }
89

910
before(:each) do
1011
# Need to mock the PE functions
@@ -15,6 +16,13 @@
1516
Puppet::Parser::Functions.newfunction(:pe_compiling_server_aio_build, type: :rvalue) do |_args|
1617
package_version
1718
end
19+
20+
allow(Puppet::Util).to receive(:absolute_path?).and_call_original
21+
allow(Puppet::Util).to receive(:absolute_path?).with(version_file).and_return true
22+
allow(Puppet::FileSystem).to receive(:exist?).and_call_original
23+
allow(Puppet::FileSystem).to receive(:read_preserve_line_endings).and_call_original
24+
allow(Puppet::FileSystem).to receive(:exist?).with(version_file).and_return true
25+
allow(Puppet::FileSystem).to receive(:read_preserve_line_endings).with(version_file).and_return "1.10.100\n"
1826
end
1927

2028
[['x64', 'x86_64'], ['x86', 'i386']].each do |arch, tag|

spec/classes/puppet_agent_spec.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,13 @@ def global_facts(facts, os)
213213
let(:params) { { package_version: 'auto' } }
214214
let(:node_params) { { serverversion: '7.6.5' } }
215215

216+
before :each do
217+
allow(Puppet::FileSystem).to receive(:exist?).and_call_original
218+
allow(Puppet::FileSystem).to receive(:read_preserve_line_endings).and_call_original
219+
allow(Puppet::FileSystem).to receive(:exist?).with('/opt/puppetlabs/puppet/VERSION').and_return true
220+
allow(Puppet::FileSystem).to receive(:read_preserve_line_endings).with('/opt/puppetlabs/puppet/VERSION').and_return "7.6.5\n"
221+
end
222+
216223
it { is_expected.to contain_class('puppet_agent::prepare').with_package_version('7.6.5') }
217224
it { is_expected.to contain_class('puppet_agent::install').with_package_version('7.6.5') }
218225
end

0 commit comments

Comments
 (0)