beaker-pe 3.5.0 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 67b0404c59865c818eee51a02ce5788f0aef2f5b753a42c9aea792b51e7be236
4
- data.tar.gz: a6e7771b5f79635ef39b205eff75079788ebaed1b4fdbac38f241da2092db783
3
+ metadata.gz: eed7c2a8bf17ddf132b8304f399dc281662a1e5bcf30adccacded869ef4046ec
4
+ data.tar.gz: fd6a280140761abbc2daac3d441ed0514ddc172f338323467e56bb901f45e2c2
5
5
  SHA512:
6
- metadata.gz: 104e1314b325bca84a49450ef3f8934783a7c6b686becacd0a30304af35c1ce360fefaede0545abe8167cd6f528140e999536c5f6f11d4c3a194a88eb95ba28a
7
- data.tar.gz: 88f0f6c2b7017e5d92b4af70016b24f2d7adb0529a933132862576bb4e8d3f2b651809d4fa69b7c61bd7aa88ad590db74265700ea9b80f754954efeb34d2d037
6
+ metadata.gz: a66def81ab2b5d734370bf39488a85c9e138918aceae47528adf4af8fc7aa0efe48963341e9e6c2fa06583bf926b6b549291995fde8259e8abe9aa85be20629f
7
+ data.tar.gz: 371a84424c62700aa73b68c161a3a8ede63accc2a5a909ddaebb5eeeeea199331c46651ee40b2283096a1991f786e67d37b98e311381ff63eb15225c01add041
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.6.0](https://github.com/puppetlabs/beaker-pe/tree/3.6.0) (2025-11-20)
4
+
5
+ [Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/3.5.0...3.6.0)
6
+
7
+ **Implemented enhancements:**
8
+
9
+ - \[PE-42706\]: Add support for installing Puppet agent on Solaris 10 SPARC hosts [\#289](https://github.com/puppetlabs/beaker-pe/pull/289) ([span786](https://github.com/span786))
10
+
3
11
  ## [3.5.0](https://github.com/puppetlabs/beaker-pe/tree/3.5.0) (2025-04-15)
4
12
 
5
13
  [Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/3.4.0...3.5.0)
@@ -325,6 +325,35 @@ module Beaker
325
325
  end
326
326
  end
327
327
 
328
+ # Helper method to get common variables for agent package installation
329
+ # @param [String] puppet_agent_ver The puppet agent version
330
+ # @param [Hash{Symbol=>Symbol, String}] opts The options
331
+ # @return [Hash] Hash containing agent_downloads_url, master_aio_version, and stream
332
+ # @api private
333
+ def agent_package_common_vars(puppet_agent_ver, opts)
334
+ {
335
+ agent_downloads_url: "http://agent-downloads.delivery.puppetlabs.net/puppet-agent",
336
+ master_aio_version: puppet_fact(master, 'aio_agent_build'),
337
+ stream: opts[:puppet_collection] || "puppet#{puppet_agent_ver[0]}"
338
+ }
339
+ end
340
+
341
+ # Determine the build package to download on a solaris-10-sparc host, install that package onto the host.
342
+ # Assumed file name format: puppet-agent-8.15.0-1.sparc.pkg.gz
343
+ # This method should be called after puppet is installed on the master since it relies on the master
344
+ # telling it the puppet agent version to form the download URL.
345
+ # @param [Host] host The sol10-sparc host to download and install the package on.
346
+ # @param [Hash{Symbol=>Symbol, String}] opts The options
347
+ # @api private
348
+ def install_pkg_on_sol10_sparc_host(host, puppet_agent_ver, opts)
349
+ # Since sol10-sparc builds are not available in PE, download from agent-downloads.
350
+ vars = agent_package_common_vars(puppet_agent_ver, opts)
351
+ path = "#{vars[:agent_downloads_url]}/#{puppet_agent_ver}/repos/solaris/10/#{vars[:stream]}"
352
+ filename = "puppet-agent-#{vars[:master_aio_version]}-1.sparc"
353
+ extension = ".pkg.gz"
354
+ host.install_package("#{path}/#{filename}#{extension}")
355
+ end
356
+
328
357
  # Determine the build package to download on a sles-11 (Intel) host, install that package onto the host.
329
358
  # Assumed file name format: puppet-agent-7.29.1.26.gf344eeefa-1.sles11.x86_64.rpm.
330
359
  # This method should be called after puppet is installed on the master since it relies on the master
@@ -334,11 +363,9 @@ module Beaker
334
363
  # @api private
335
364
  def install_rpm_on_sles11_host(host, puppet_agent_ver, opts)
336
365
  # Since sles11 builds are not available in PE, download from agent-downloads.
337
- agent_downloads_url = "http://agent-downloads.delivery.puppetlabs.net/puppet-agent"
338
- master_aio_version = puppet_fact(master, 'aio_agent_build')
339
- stream = opts[:puppet_collection] || "puppet#{puppet_agent_ver[0]}"
340
- path = "#{agent_downloads_url}/#{puppet_agent_ver}/repos/sles/11/#{stream}/x86_64"
341
- filename = "puppet-agent-#{master_aio_version}-1.sles11.x86_64"
366
+ vars = agent_package_common_vars(puppet_agent_ver, opts)
367
+ path = "#{vars[:agent_downloads_url]}/#{puppet_agent_ver}/repos/sles/11/#{vars[:stream]}/x86_64"
368
+ filename = "puppet-agent-#{vars[:master_aio_version]}-1.sles11.x86_64"
342
369
  extension = ".rpm"
343
370
  host.install_package_with_rpm("#{path}/#{filename}#{extension}")
344
371
  end
@@ -1174,6 +1201,8 @@ module Beaker
1174
1201
  }
1175
1202
  if host['platform'] =~ /sles-11/
1176
1203
  install_rpm_on_sles11_host(host, install_params[:puppet_agent_version], opts)
1204
+ elsif host['platform'] =~ /solaris-10-sparc/
1205
+ install_pkg_on_sol10_sparc_host(host, install_params[:puppet_agent_version], opts)
1177
1206
  else
1178
1207
  install_params.delete(:pe_promoted_builds_url) if install_params[:pe_promoted_builds_url].nil?
1179
1208
  install_puppet_agent_pe_promoted_repo_on(host, install_params)
@@ -3,7 +3,7 @@ module Beaker
3
3
  module PE
4
4
 
5
5
  module Version
6
- STRING = '3.5.0'
6
+ STRING = '3.6.0'
7
7
  end
8
8
 
9
9
  end
@@ -30,14 +30,15 @@ describe ClassMixedWithDSLInstallUtils do
30
30
  let(:basic_hosts) { make_hosts( { :pe_ver => '3.0',
31
31
  :platform => 'linux',
32
32
  :roles => [ 'agent' ],
33
- :type => 'pe'}, 5 ) }
33
+ :type => 'pe'}, 6 ) }
34
34
  let(:hosts) { basic_hosts[0][:roles] = ['master', 'database', 'dashboard']
35
35
  basic_hosts[1][:platform] = 'windows'
36
36
  basic_hosts[2][:platform] = 'osx-10.9-x86_64'
37
37
  basic_hosts[3][:platform] = 'eos'
38
38
  basic_hosts[4][:platform] = 'sles'
39
+ basic_hosts[5][:platform] = 'solaris'
39
40
  basic_hosts }
40
- let(:hosts_sorted) { [ hosts[1], hosts[0], hosts[2], hosts[3], hosts[4] ] }
41
+ let(:hosts_sorted) { [ hosts[1], hosts[0], hosts[2], hosts[3], hosts[4], hosts[5] ] }
41
42
  let(:winhost) { make_host( 'winhost', { :platform => 'windows',
42
43
  :pe_ver => '3.0',
43
44
  :type => 'pe',
@@ -60,6 +61,10 @@ describe ClassMixedWithDSLInstallUtils do
60
61
  :pe_ver => '3.0',
61
62
  :type => 'pe',
62
63
  :working_dir => '/tmp'} ) }
64
+ let(:solaris10host) { make_host( 'sol10', { :platform => 'solaris-10-sparc',
65
+ :pe_ver => '3.0',
66
+ :type => 'pe',
67
+ :working_dir => '/tmp'} ) }
63
68
  let(:lei_hosts) { make_hosts( { :pe_ver => '3.0',
64
69
  :platform => 'linux',
65
70
  :roles => [ 'agent' ],
@@ -1672,18 +1677,40 @@ describe ClassMixedWithDSLInstallUtils do
1672
1677
  let(:filename) { "puppet-agent-#{master_version}-1.sles11.x86_64" }
1673
1678
  let(:extension) { '.rpm' }
1674
1679
  let(:url) { "#{path}/#{filename}#{extension}" }
1675
-
1680
+
1676
1681
  it "generates the correct url to download the package" do
1677
1682
  allow( subject ).to receive( :puppet_fact ).and_return( master_version )
1678
1683
  allow( subject ).to receive( :master ).and_return( {} )
1679
-
1684
+
1680
1685
  expect( hosts[4] ).to receive( :install_package_with_rpm ).with( url ).once
1681
1686
  subject.install_rpm_on_sles11_host(hosts[4], puppet_agent_ver, opts)
1682
1687
  end
1683
1688
  end
1684
1689
 
1690
+ context 'install pkg.gz file in solaris host' do
1691
+ let(:opts) {
1692
+ { :puppet_collection => 'puppet8' }
1693
+ }
1694
+ let(:stream) { opts[:puppet_collection] }
1695
+ let(:puppet_agent_ver) { '8.15.0.65' }
1696
+ let(:agent_downloads_url) { "http://agent-downloads.delivery.puppetlabs.net/puppet-agent" }
1697
+ let(:master_version) { '8.15.0.65.gd2a4b575d' }
1698
+ let(:path) { "#{agent_downloads_url}/#{puppet_agent_ver}/repos/solaris/10/#{stream}" }
1699
+ let(:filename) { "puppet-agent-#{master_version}-1.sparc" }
1700
+ let(:extension) { '.pkg.gz' }
1701
+ let(:url) { "#{path}/#{filename}#{extension}" }
1702
+
1703
+ it 'generates the correct url to download the package' do
1704
+ allow( subject ).to receive( :puppet_fact ).and_return( master_version )
1705
+ allow( subject ).to receive( :master ).and_return( {} )
1706
+
1707
+ expect( hosts[5] ).to receive( :install_package ).with( url ).once
1708
+ subject.install_pkg_on_sol10_sparc_host(hosts[5], puppet_agent_ver, opts)
1709
+ end
1710
+ end
1711
+
1685
1712
  it 'can perform a simple installation' do
1686
- expect(subject).to receive(:get_mco_setting).and_return({}).twice
1713
+ expect(subject).to receive(:get_mco_setting).and_return({}).thrice
1687
1714
  allow( subject ).to receive( :verify_network_resources).with(hosts, nil)
1688
1715
  allow( subject ).to receive( :on ).and_return( Beaker::Result.new( {}, '' ) )
1689
1716
  allow( subject ).to receive( :fetch_pe ).and_return( true )
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beaker-pe
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.0
4
+ version: 3.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppetlabs
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-04-15 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: rspec
@@ -307,7 +306,6 @@ homepage: https://github.com/puppetlabs/beaker-pe
307
306
  licenses:
308
307
  - Apache2
309
308
  metadata: {}
310
- post_install_message:
311
309
  rdoc_options: []
312
310
  require_paths:
313
311
  - lib
@@ -322,8 +320,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
322
320
  - !ruby/object:Gem::Version
323
321
  version: '0'
324
322
  requirements: []
325
- rubygems_version: 3.5.22
326
- signing_key:
323
+ rubygems_version: 3.6.9
327
324
  specification_version: 4
328
325
  summary: Beaker PE DSL Helpers!
329
326
  test_files: []