beaker-pe 3.6.7 → 3.6.9
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 +4 -4
- data/CHANGELOG.md +26 -10
- data/lib/beaker-pe/install/pe_utils.rb +41 -6
- data/lib/beaker-pe/version.rb +1 -1
- data/spec/beaker-pe/install/pe_utils_spec.rb +26 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5bf28b377830e292e4f4e31e158fe194f05efc02863763561459208baa67249e
|
|
4
|
+
data.tar.gz: b00ca47f6d3868058015566c13681cb49d9b399be2a398f2dad3568ebb5129d2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4b340f0b9833a7536dad2a862d0eb85c400c2c1fcc83aa6ee5549a6dbd3490a73cd0c3dc2fd14b89d0c80487a3bf377a84dcb5f11c35e62dc293adc960385991
|
|
7
|
+
data.tar.gz: 2ea95782b9ade1c357ac4d7a262da2eb4ee0bacb222300a445bac274cef9dd7570a2c761e6fe65c9dd9cb399820cf117ee73e9850df66632c5ad474f6739a1b3
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [3.6.9](https://github.com/puppetlabs/beaker-pe/tree/3.6.9) (2026-10-20)
|
|
4
|
+
|
|
5
|
+
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/3.6.8...3.6.9)
|
|
6
|
+
|
|
7
|
+
**Implemented enhancements:**
|
|
8
|
+
|
|
9
|
+
- \(PE-47138\) Add el-7 puppet-agent install support via agent-downloads [\#316](https://github.com/puppetlabs/beaker-pe/pull/316) ([shubhamshinde360](https://github.com/shubhamshinde360))
|
|
10
|
+
|
|
11
|
+
## [3.6.8](https://github.com/puppetlabs/beaker-pe/tree/3.6.8) (2026-09-21)
|
|
12
|
+
|
|
13
|
+
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/3.6.7...3.6.8)
|
|
14
|
+
|
|
15
|
+
**Merged pull requests:**
|
|
16
|
+
|
|
17
|
+
- \(PE-32680\) Fix GPG key refresh for PE 2023.8.0 and earlier [\#308](https://github.com/puppetlabs/beaker-pe/pull/308) ([cthorn42](https://github.com/cthorn42))
|
|
18
|
+
|
|
3
19
|
## [3.6.7](https://github.com/puppetlabs/beaker-pe/tree/3.6.7) (2026-08-14)
|
|
4
20
|
|
|
5
21
|
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/3.6.6...3.6.7)
|
|
@@ -108,19 +124,19 @@
|
|
|
108
124
|
|
|
109
125
|
## [2.19.0](https://github.com/puppetlabs/beaker-pe/tree/2.19.0) (2024-06-21)
|
|
110
126
|
|
|
111
|
-
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/
|
|
127
|
+
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/2.18.0...2.19.0)
|
|
112
128
|
|
|
113
129
|
**Implemented enhancements:**
|
|
114
130
|
|
|
115
131
|
- \(PE-38685\) Beaker 6 upgrade [\#281](https://github.com/puppetlabs/beaker-pe/pull/281) ([tlehman](https://github.com/tlehman))
|
|
116
132
|
|
|
117
|
-
## [
|
|
133
|
+
## [2.18.0](https://github.com/puppetlabs/beaker-pe/tree/2.18.0) (2024-06-11)
|
|
118
134
|
|
|
119
|
-
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/2.
|
|
135
|
+
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/3.2.0...2.18.0)
|
|
120
136
|
|
|
121
|
-
## [2.
|
|
137
|
+
## [3.2.0](https://github.com/puppetlabs/beaker-pe/tree/3.2.0) (2024-06-11)
|
|
122
138
|
|
|
123
|
-
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/3.1.0...2.
|
|
139
|
+
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/3.1.0...3.2.0)
|
|
124
140
|
|
|
125
141
|
**Implemented enhancements:**
|
|
126
142
|
|
|
@@ -128,19 +144,19 @@
|
|
|
128
144
|
|
|
129
145
|
## [3.1.0](https://github.com/puppetlabs/beaker-pe/tree/3.1.0) (2024-05-22)
|
|
130
146
|
|
|
131
|
-
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/
|
|
147
|
+
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/3.0.1...3.1.0)
|
|
132
148
|
|
|
133
149
|
**Merged pull requests:**
|
|
134
150
|
|
|
135
151
|
- \(PE-37784\) Remove upper bound for beaker-puppet [\#273](https://github.com/puppetlabs/beaker-pe/pull/273) ([nmburgan](https://github.com/nmburgan))
|
|
136
152
|
|
|
137
|
-
## [
|
|
153
|
+
## [3.0.1](https://github.com/puppetlabs/beaker-pe/tree/3.0.1) (2024-04-10)
|
|
138
154
|
|
|
139
|
-
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/3.0.1
|
|
155
|
+
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/2.17.0...3.0.1)
|
|
140
156
|
|
|
141
|
-
## [
|
|
157
|
+
## [2.17.0](https://github.com/puppetlabs/beaker-pe/tree/2.17.0) (2024-04-10)
|
|
142
158
|
|
|
143
|
-
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/2.16.1...
|
|
159
|
+
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/2.16.1...2.17.0)
|
|
144
160
|
|
|
145
161
|
## [2.16.1](https://github.com/puppetlabs/beaker-pe/tree/2.16.1) (2024-03-19)
|
|
146
162
|
|
|
@@ -408,6 +408,22 @@ NOASK
|
|
|
408
408
|
host.install_package_with_rpm("#{path}/#{filename}#{extension}")
|
|
409
409
|
end
|
|
410
410
|
|
|
411
|
+
# Determine the build package to download on an el-7 (Intel) host, install that package onto the host.
|
|
412
|
+
# Assumed file name format: puppet-agent-9.1.1.13-1.el7.x86_64.rpm.
|
|
413
|
+
# This method should be called after puppet is installed on the master since it relies on the master
|
|
414
|
+
# telling it the puppet agent version to form the download URL.
|
|
415
|
+
# @param [Host] host The el-7 host to download and install the package on.
|
|
416
|
+
# @param [Hash{Symbol=>Symbol, String}] opts The options
|
|
417
|
+
# @api private
|
|
418
|
+
def install_rpm_on_el7_host(host, puppet_agent_ver, opts)
|
|
419
|
+
# Since el-7 builds are not available in PE, download from agent-downloads.
|
|
420
|
+
vars = agent_package_common_vars(puppet_agent_ver, opts)
|
|
421
|
+
path = "#{vars[:agent_downloads_url]}/#{puppet_agent_ver}/repos/el/7/#{vars[:stream]}/x86_64"
|
|
422
|
+
filename = "puppet-agent-#{vars[:master_aio_version]}-1.el7.x86_64"
|
|
423
|
+
extension = ".rpm"
|
|
424
|
+
host.install_package_with_rpm("#{path}/#{filename}#{extension}")
|
|
425
|
+
end
|
|
426
|
+
|
|
411
427
|
#Determine the PE package to download/upload on a windows host, download/upload that package onto the host.
|
|
412
428
|
#Assumed file name format: puppet-enterprise-3.3.0-rc1-559-g97f0833.msi
|
|
413
429
|
# @param [Host] host The windows host to download/upload and unpack PE onto
|
|
@@ -510,13 +526,13 @@ NOASK
|
|
|
510
526
|
end
|
|
511
527
|
|
|
512
528
|
#PE-32680, GPG expired on older PE versions, need to update with a new GPG key on the primary server
|
|
513
|
-
#only affects PE versions
|
|
529
|
+
#only affects PE versions 2023.8.0 and earlier, and only needed for debian, ubuntu, and sles agent platforms
|
|
514
530
|
# @param [Host] host to see if we need to update the gpg key
|
|
515
531
|
# @param [String] location of the GPG key we intend to overwrite
|
|
516
|
-
#
|
|
517
|
-
#
|
|
532
|
+
# Defaults to Puppet's public release key (same key, renewed self-signature); override
|
|
533
|
+
# via the GPG_URL environment variable if a different source is needed.
|
|
518
534
|
def gpg_key_overwrite(host, location)
|
|
519
|
-
gpg_url = ENV['GPG_URL'] || 'https://
|
|
535
|
+
gpg_url = ENV['GPG_URL'] || 'https://yum.puppet.com/RPM-GPG-KEY-puppet'
|
|
520
536
|
case location
|
|
521
537
|
when 'tarball'
|
|
522
538
|
path_to_gpg_key = "#{host['working_dir']}/#{host['dist']}/packages/GPG-KEY-puppet"
|
|
@@ -528,9 +544,26 @@ NOASK
|
|
|
528
544
|
raise(StandardError, "gpg_key_overwrite requires a valid location: tarball, or pe_repo. #{location} was supplied")
|
|
529
545
|
end
|
|
530
546
|
|
|
531
|
-
if (host['roles'].include?('master') || host['roles'].include?('pe_postgres')) && version_is_less(host[:pe_ver], '
|
|
547
|
+
if (host['roles'].include?('master') || host['roles'].include?('pe_postgres')) && version_is_less(host[:pe_ver], '2023.8.1') && hosts.any? {|agent| agent['platform'] =~ /(debian)|(ubuntu)|(sles)/}
|
|
548
|
+
# Some PE releases also ship a separately-dated copy of this key alongside the
|
|
549
|
+
# undated one (e.g. GPG-KEY-puppet-2025-04-06), which frictionless install scripts
|
|
550
|
+
# may reference directly. Find any such siblings before we remove the undated file,
|
|
551
|
+
# so we can refresh them with the same content too.
|
|
552
|
+
gpg_key_dir = File.dirname(path_to_gpg_key)
|
|
553
|
+
gpg_key_basename = File.basename(path_to_gpg_key)
|
|
554
|
+
dated_gpg_keys = on(host, "ls -1 #{gpg_key_dir}/#{gpg_key_basename}-[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] 2>/dev/null", :acceptable_exit_codes => [0,1,2]).stdout.split("\n")
|
|
555
|
+
|
|
532
556
|
on(host, "rm -f #{path_to_gpg_key}")
|
|
533
|
-
|
|
557
|
+
# The puppet-agent tarball fetch above already uses retry_on to survive network
|
|
558
|
+
# blips; do the same here so a transient curl failure doesn't abort the whole run.
|
|
559
|
+
retry_on(host, "curl --fail #{gpg_url} --output #{path_to_gpg_key}", {
|
|
560
|
+
desired_exit_codes: [0],
|
|
561
|
+
max_retries: 3,
|
|
562
|
+
verbose: 'true'
|
|
563
|
+
})
|
|
564
|
+
unless dated_gpg_keys.empty?
|
|
565
|
+
on(host, dated_gpg_keys.map { |dated_gpg_key| "cp #{path_to_gpg_key} #{dated_gpg_key}" }.join(' && '))
|
|
566
|
+
end
|
|
534
567
|
if location == 'pe_repo'
|
|
535
568
|
gpg_key_overwrite(host, 'pe_repo_env')
|
|
536
569
|
elsif location == 'pe_repo_env'
|
|
@@ -1268,6 +1301,8 @@ NOASK
|
|
|
1268
1301
|
install_rpm_on_sles11_host(host, install_params[:puppet_agent_version], opts)
|
|
1269
1302
|
elsif host['platform'] =~ /solaris-10-sparc/
|
|
1270
1303
|
install_pkg_on_sol10_sparc_host(host, install_params[:puppet_agent_version], opts)
|
|
1304
|
+
elsif host['packaging_platform'] =~ /^el-7-x86_64/ && !version_is_less(host['pe_ver'] || opts[:pe_ver], '2025.12')
|
|
1305
|
+
install_rpm_on_el7_host(host, install_params[:puppet_agent_version], opts)
|
|
1271
1306
|
else
|
|
1272
1307
|
install_params.delete(:pe_promoted_builds_url) if install_params[:pe_promoted_builds_url].nil?
|
|
1273
1308
|
install_puppet_agent_pe_promoted_repo_on(host, install_params)
|
data/lib/beaker-pe/version.rb
CHANGED
|
@@ -72,6 +72,10 @@ describe ClassMixedWithDSLInstallUtils do
|
|
|
72
72
|
:pe_ver => '3.0',
|
|
73
73
|
:type => 'pe',
|
|
74
74
|
:working_dir => '/tmp'} ) }
|
|
75
|
+
let(:el7host) { make_host( 'el7', { :platform => 'el-7-x86_64',
|
|
76
|
+
:pe_ver => '3.0',
|
|
77
|
+
:type => 'pe',
|
|
78
|
+
:working_dir => '/tmp'} ) }
|
|
75
79
|
let(:solaris10host) { make_host( 'sol10', { :platform => 'solaris-10-sparc',
|
|
76
80
|
:pe_ver => '3.0',
|
|
77
81
|
:type => 'pe',
|
|
@@ -1898,6 +1902,28 @@ NOASK
|
|
|
1898
1902
|
end
|
|
1899
1903
|
end
|
|
1900
1904
|
|
|
1905
|
+
context "install rpm file in el-7 host" do
|
|
1906
|
+
let(:opts) {
|
|
1907
|
+
{ :puppet_collection => 'puppet9' }
|
|
1908
|
+
}
|
|
1909
|
+
let(:stream) { opts[:puppet_collection] }
|
|
1910
|
+
let(:puppet_agent_ver) { '9.1.1.30' }
|
|
1911
|
+
let(:agent_downloads_url) { "http://agent-downloads.delivery.puppetlabs.net/puppet-agent" }
|
|
1912
|
+
let(:master_version) { '9.1.1.30' }
|
|
1913
|
+
let(:path) { "#{agent_downloads_url}/#{puppet_agent_ver}/repos/el/7/#{stream}/x86_64" }
|
|
1914
|
+
let(:filename) { "puppet-agent-#{master_version}-1.el7.x86_64" }
|
|
1915
|
+
let(:extension) { '.rpm' }
|
|
1916
|
+
let(:url) { "#{path}/#{filename}#{extension}" }
|
|
1917
|
+
|
|
1918
|
+
it "generates the correct url to download the package" do
|
|
1919
|
+
allow( subject ).to receive( :puppet_fact ).and_return( master_version )
|
|
1920
|
+
allow( subject ).to receive( :master ).and_return( {} )
|
|
1921
|
+
|
|
1922
|
+
expect( el7host ).to receive( :install_package_with_rpm ).with( url ).once
|
|
1923
|
+
subject.install_rpm_on_el7_host(el7host, puppet_agent_ver, opts)
|
|
1924
|
+
end
|
|
1925
|
+
end
|
|
1926
|
+
|
|
1901
1927
|
it 'can perform a simple installation' do
|
|
1902
1928
|
expect(subject).to receive(:get_mco_setting).and_return({}).thrice
|
|
1903
1929
|
allow( subject ).to receive( :verify_network_resources).with(hosts, nil)
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: beaker-pe
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.6.
|
|
4
|
+
version: 3.6.9
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Puppetlabs
|
|
@@ -320,7 +320,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
320
320
|
- !ruby/object:Gem::Version
|
|
321
321
|
version: '0'
|
|
322
322
|
requirements: []
|
|
323
|
-
rubygems_version: 4.0.
|
|
323
|
+
rubygems_version: 4.0.20
|
|
324
324
|
specification_version: 4
|
|
325
325
|
summary: Beaker PE DSL Helpers!
|
|
326
326
|
test_files: []
|