beaker-pe 3.6.5 → 3.6.7
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 +41 -13
- data/lib/beaker-pe/install/pe_utils.rb +34 -2
- data/lib/beaker-pe/version.rb +1 -1
- data/spec/beaker-pe/install/pe_utils_spec.rb +43 -0
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8c64a23179a869b41ceb2ea32740a983e8a27172939f4347b6401d94265c1f26
|
|
4
|
+
data.tar.gz: 1f961918eda0b697d7246d4abef2cf451f742a5f816a9667e3d2259ca415d7b9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '07931522f4f5f30eb04235539a1b9d3d30b3cc16eb551bb7d78b5eed7f010b62b9bcd07de1b15b66be5419bdf273b44c097710484b8976597b8b1ce67efab31c'
|
|
7
|
+
data.tar.gz: 27cd5ed3c62caa3899b980fd3f63c0c3c5c0c5f5f52e1dca4601d50ba70a7c1132b2dc07a56a019caff526e83cb9c74523dd25c6321cc26fb0463c95344acc7a
|
data/CHANGELOG.md
CHANGED
|
@@ -1,28 +1,53 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [3.6.
|
|
3
|
+
## [3.6.7](https://github.com/puppetlabs/beaker-pe/tree/3.6.7) (2026-08-14)
|
|
4
|
+
|
|
5
|
+
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/3.6.6...3.6.7)
|
|
6
|
+
|
|
7
|
+
**Fixed bugs:**
|
|
8
|
+
|
|
9
|
+
- \(PE-45827\) Query PuppetDB's unauthenticated status endpoint in check\_puppetdb\_status\_endpoint [\#313](https://github.com/puppetlabs/beaker-pe/pull/313) ([steveax](https://github.com/steveax))
|
|
10
|
+
|
|
11
|
+
## [3.6.6](https://github.com/puppetlabs/beaker-pe/tree/3.6.6) (2026-08-12)
|
|
12
|
+
|
|
13
|
+
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/3.6.5...3.6.6)
|
|
14
|
+
|
|
15
|
+
**Fixed bugs:**
|
|
16
|
+
|
|
17
|
+
- \(PE-45827\) Prefer the ssl status endpoint for PuppetDB liveness validation [\#311](https://github.com/puppetlabs/beaker-pe/pull/311) ([jonathannewman](https://github.com/jonathannewman))
|
|
18
|
+
|
|
19
|
+
## [3.6.5](https://github.com/puppetlabs/beaker-pe/tree/3.6.5) (2026-07-30)
|
|
4
20
|
|
|
5
21
|
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/3.6.4...3.6.5)
|
|
6
22
|
|
|
7
23
|
**Implemented enhancements:**
|
|
8
24
|
|
|
9
|
-
- (PE-45366) Add
|
|
25
|
+
- \(PE-45366\) Add pe\_run\_in\_parallel option, serial by default on macOS [\#309](https://github.com/puppetlabs/beaker-pe/pull/309) ([Magisus](https://github.com/Magisus))
|
|
26
|
+
|
|
27
|
+
**Merged pull requests:**
|
|
28
|
+
|
|
29
|
+
- \(maint\) prepare for release 3.6.5 [\#310](https://github.com/puppetlabs/beaker-pe/pull/310) ([Magisus](https://github.com/Magisus))
|
|
10
30
|
|
|
11
31
|
## [3.6.4](https://github.com/puppetlabs/beaker-pe/tree/3.6.4) (2026-07-23)
|
|
12
32
|
|
|
13
33
|
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/3.6.3...3.6.4)
|
|
14
34
|
|
|
15
|
-
**
|
|
35
|
+
**Merged pull requests:**
|
|
16
36
|
|
|
17
|
-
-
|
|
37
|
+
- \(maint\) prepare for release 3.6.4 [\#307](https://github.com/puppetlabs/beaker-pe/pull/307) ([Magisus](https://github.com/Magisus))
|
|
38
|
+
- \(PE-41009\) Fall back to agent-downloads when promoted agent is missing from public mirror [\#306](https://github.com/puppetlabs/beaker-pe/pull/306) ([Magisus](https://github.com/Magisus))
|
|
18
39
|
|
|
19
40
|
## [3.6.3](https://github.com/puppetlabs/beaker-pe/tree/3.6.3) (2026-07-16)
|
|
20
41
|
|
|
21
42
|
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/3.6.2...3.6.3)
|
|
22
43
|
|
|
23
|
-
**
|
|
44
|
+
**Implemented enhancements:**
|
|
24
45
|
|
|
25
|
-
-
|
|
46
|
+
- \(PE-45082\) Broaden is\_expected\_pe\_postgres\_failure? allowlist [\#303](https://github.com/puppetlabs/beaker-pe/pull/303) ([steveax](https://github.com/steveax))
|
|
47
|
+
|
|
48
|
+
**Merged pull requests:**
|
|
49
|
+
|
|
50
|
+
- \(maint\) prepare for release 3.6.3 [\#304](https://github.com/puppetlabs/beaker-pe/pull/304) ([steveax](https://github.com/steveax))
|
|
26
51
|
|
|
27
52
|
## [3.6.2](https://github.com/puppetlabs/beaker-pe/tree/3.6.2) (2026-06-05)
|
|
28
53
|
|
|
@@ -30,7 +55,7 @@
|
|
|
30
55
|
|
|
31
56
|
**Fixed bugs:**
|
|
32
57
|
|
|
33
|
-
- Add waitforlock
|
|
58
|
+
- Add waitforlock\_flag to second puppet runs to prevent lock collisions [\#300](https://github.com/puppetlabs/beaker-pe/pull/300) ([jonathannewman](https://github.com/jonathannewman))
|
|
34
59
|
|
|
35
60
|
## [3.6.1](https://github.com/puppetlabs/beaker-pe/tree/3.6.1) (2025-11-21)
|
|
36
61
|
|
|
@@ -54,15 +79,20 @@
|
|
|
54
79
|
|
|
55
80
|
**Implemented enhancements:**
|
|
56
81
|
|
|
57
|
-
- \(
|
|
82
|
+
- \(maint\) prepare for 3.5.0 release [\#288](https://github.com/puppetlabs/beaker-pe/pull/288) ([tvpartytonight](https://github.com/tvpartytonight))
|
|
83
|
+
- \(PE-40793\) Follow https-\>\>http redirects [\#287](https://github.com/puppetlabs/beaker-pe/pull/287) ([tvpartytonight](https://github.com/tvpartytonight))
|
|
58
84
|
|
|
59
|
-
## [3.4.0](https://github.com/puppetlabs/beaker-pe/tree/3.4.0) (2025-03-
|
|
85
|
+
## [3.4.0](https://github.com/puppetlabs/beaker-pe/tree/3.4.0) (2025-03-13)
|
|
60
86
|
|
|
61
87
|
[Full Changelog](https://github.com/puppetlabs/beaker-pe/compare/3.3.1...3.4.0)
|
|
62
88
|
|
|
63
89
|
**Implemented enhancements:**
|
|
64
90
|
|
|
65
|
-
- \(PE-40143\)
|
|
91
|
+
- \(PE-40143\) Update beaker-pe for ruby 3.2 compatibility [\#285](https://github.com/puppetlabs/beaker-pe/pull/285) ([tvpartytonight](https://github.com/tvpartytonight))
|
|
92
|
+
|
|
93
|
+
**Merged pull requests:**
|
|
94
|
+
|
|
95
|
+
- \(maint\) prep for 3.4.0 release [\#286](https://github.com/puppetlabs/beaker-pe/pull/286) ([tvpartytonight](https://github.com/tvpartytonight))
|
|
66
96
|
|
|
67
97
|
## [3.3.1](https://github.com/puppetlabs/beaker-pe/tree/3.3.1) (2024-12-05)
|
|
68
98
|
|
|
@@ -728,7 +758,7 @@
|
|
|
728
758
|
**Merged pull requests:**
|
|
729
759
|
|
|
730
760
|
- PE-11351 clear puppet jenkins slaves [\#98](https://github.com/puppetlabs/beaker-pe/pull/98) ([mwbutcher](https://github.com/mwbutcher))
|
|
731
|
-
- \(maint\) Add beaker-abs to gemspec [\#97](https://github.com/puppetlabs/beaker-pe/pull/97) ([
|
|
761
|
+
- \(maint\) Add beaker-abs to gemspec [\#97](https://github.com/puppetlabs/beaker-pe/pull/97) ([junebug-spencer](https://github.com/junebug-spencer))
|
|
732
762
|
- \(RE-9922\) Migrate from stickler to artifactory [\#96](https://github.com/puppetlabs/beaker-pe/pull/96) ([sarameisburger](https://github.com/sarameisburger))
|
|
733
763
|
|
|
734
764
|
## [1.32.0](https://github.com/puppetlabs/beaker-pe/tree/1.32.0) (2018-01-09)
|
|
@@ -799,7 +829,6 @@
|
|
|
799
829
|
|
|
800
830
|
- Fix agent installation failure caused by previous commit [\#87](https://github.com/puppetlabs/beaker-pe/pull/87) ([shaigy](https://github.com/shaigy))
|
|
801
831
|
- PE-22051 Changes for adding loadbalancer to LEI job [\#86](https://github.com/puppetlabs/beaker-pe/pull/86) ([shaigy](https://github.com/shaigy))
|
|
802
|
-
- \(MAINT\) Fix linux masterless installation [\#70](https://github.com/puppetlabs/beaker-pe/pull/70) ([Renelast](https://github.com/Renelast))
|
|
803
832
|
|
|
804
833
|
## [1.23.0](https://github.com/puppetlabs/beaker-pe/tree/1.23.0) (2017-09-15)
|
|
805
834
|
|
|
@@ -1153,7 +1182,6 @@
|
|
|
1153
1182
|
|
|
1154
1183
|
- \(maint\) Remove leftover comments [\#7](https://github.com/puppetlabs/beaker-pe/pull/7) ([tvpartytonight](https://github.com/tvpartytonight))
|
|
1155
1184
|
- BKR-656 [\#6](https://github.com/puppetlabs/beaker-pe/pull/6) ([tvpartytonight](https://github.com/tvpartytonight))
|
|
1156
|
-
- Fixes windows masterless installation [\#1](https://github.com/puppetlabs/beaker-pe/pull/1) ([Renelast](https://github.com/Renelast))
|
|
1157
1185
|
|
|
1158
1186
|
## [0.1.2](https://github.com/puppetlabs/beaker-pe/tree/0.1.2) (2016-04-05)
|
|
1159
1187
|
|
|
@@ -1840,11 +1840,43 @@ EOM
|
|
|
1840
1840
|
if version_is_less(host['pe_ver'], '2016.1.0')
|
|
1841
1841
|
return true
|
|
1842
1842
|
end
|
|
1843
|
+
|
|
1844
|
+
ssl_port = options[:puppetdb_port_ssl] || 8081
|
|
1845
|
+
nonssl_port = options[:puppetdb_port_nonssl] || 8080
|
|
1846
|
+
|
|
1843
1847
|
Timeout.timeout(60) do
|
|
1844
1848
|
match = nil
|
|
1845
1849
|
while not match
|
|
1846
|
-
|
|
1847
|
-
|
|
1850
|
+
# Prefer the ssl status endpoint. PuppetDB's jetty listener is
|
|
1851
|
+
# explicitly configured with `client-auth = want`, not `need`
|
|
1852
|
+
# (see puppet_enterprise::puppetdb::jetty_ini.pp), and
|
|
1853
|
+
# /status/v1/* is allow-unauthenticated in PuppetDB's auth.conf,
|
|
1854
|
+
# so `curl -k` gets a real, content-validated response with no
|
|
1855
|
+
# client cert needed. This is the only path that still works
|
|
1856
|
+
# once the cleartext listener is disabled by default
|
|
1857
|
+
# (PE-45384/PE-44906, SECVULN-1792).
|
|
1858
|
+
#
|
|
1859
|
+
# NB: /pdb/meta/v1/version is NOT allow-unauthenticated -- it
|
|
1860
|
+
# requires a cert or token, so a bare `curl -k` against it is
|
|
1861
|
+
# rejected with "Must supply a certificate or token". PE-45827
|
|
1862
|
+
# switched this check to ssl but kept /pdb/meta/v1/version, so it
|
|
1863
|
+
# still hard-failed ("PuppetDB took too long to start") on
|
|
1864
|
+
# cleartext-disabled upgrade hosts. Query the status endpoint and
|
|
1865
|
+
# validate the running state instead, matching the working
|
|
1866
|
+
# sleep_until_puppetdb_started (beaker-puppet, PE-45697). PE-45827.
|
|
1867
|
+
status_endpoint = "status/v1/services/puppetdb-status"
|
|
1868
|
+
running = /"state"\s*:\s*"running"/
|
|
1869
|
+
output = on(host, "curl -s -k https://localhost:#{ssl_port}/#{status_endpoint}", :accept_all_exit_codes => true)
|
|
1870
|
+
match = output.stdout =~ running
|
|
1871
|
+
|
|
1872
|
+
# Fall back to the cleartext port for older or nonstandard
|
|
1873
|
+
# configurations where the ssl endpoint doesn't behave as
|
|
1874
|
+
# above.
|
|
1875
|
+
if !match
|
|
1876
|
+
output = on(host, "curl -s http://localhost:#{nonssl_port}/#{status_endpoint}", :accept_all_exit_codes => true)
|
|
1877
|
+
match = output.stdout =~ running
|
|
1878
|
+
end
|
|
1879
|
+
|
|
1848
1880
|
sleep 1
|
|
1849
1881
|
end
|
|
1850
1882
|
end
|
data/lib/beaker-pe/version.rb
CHANGED
|
@@ -2663,6 +2663,49 @@ NOASK
|
|
|
2663
2663
|
end
|
|
2664
2664
|
end
|
|
2665
2665
|
|
|
2666
|
+
describe '#check_puppetdb_status_endpoint' do
|
|
2667
|
+
it 'does not do anything if version is less than 2016.1.0' do
|
|
2668
|
+
allow(subject).to receive(:version_is_less).and_return(true)
|
|
2669
|
+
|
|
2670
|
+
expect(subject).not_to receive(:on)
|
|
2671
|
+
subject.check_puppetdb_status_endpoint(unixhost)
|
|
2672
|
+
end
|
|
2673
|
+
|
|
2674
|
+
it 'queries the allow-unauthenticated ssl status endpoint, not /pdb/meta (PE-45827)' do
|
|
2675
|
+
allow(subject).to receive(:version_is_less).and_return(false)
|
|
2676
|
+
allow(subject).to receive(:sleep)
|
|
2677
|
+
ssl_result = double(Beaker::Result, :stdout => '{"puppetdb-status":{"state":"running"}}', :exit_code => 0)
|
|
2678
|
+
expect(subject).to receive(:on).with(anything, %r{-k https://localhost:8081/status/v1/services/puppetdb-status}, anything).once.and_return(ssl_result)
|
|
2679
|
+
expect(subject).not_to receive(:on).with(anything, %r{/pdb/meta/}, anything)
|
|
2680
|
+
expect(subject).not_to receive(:on).with(anything, %r{http://localhost:8080/}, anything)
|
|
2681
|
+
|
|
2682
|
+
expect { subject.check_puppetdb_status_endpoint(unixhost) }.not_to raise_error
|
|
2683
|
+
end
|
|
2684
|
+
|
|
2685
|
+
context 'when the ssl endpoint never returns a running state (older or nonstandard config)' do
|
|
2686
|
+
it 'falls back to the cleartext status endpoint' do
|
|
2687
|
+
allow(subject).to receive(:version_is_less).and_return(false)
|
|
2688
|
+
allow(subject).to receive(:sleep)
|
|
2689
|
+
ssl_result = double(Beaker::Result, :stdout => '', :exit_code => 0)
|
|
2690
|
+
nonssl_result = double(Beaker::Result, :stdout => '{"puppetdb-status":{"state":"running"}}', :exit_code => 0)
|
|
2691
|
+
expect(subject).to receive(:on).with(anything, %r{-k https://localhost:8081/status/v1/services/puppetdb-status}, anything).once.ordered.and_return(ssl_result)
|
|
2692
|
+
expect(subject).to receive(:on).with(anything, %r{http://localhost:8080/status/v1/services/puppetdb-status}, anything).once.ordered.and_return(nonssl_result)
|
|
2693
|
+
|
|
2694
|
+
expect { subject.check_puppetdb_status_endpoint(unixhost) }.not_to raise_error
|
|
2695
|
+
end
|
|
2696
|
+
end
|
|
2697
|
+
|
|
2698
|
+
context 'when neither endpoint ever returns valid content' do
|
|
2699
|
+
it 'still fails the test, preserving the original PE-14934 race guard' do
|
|
2700
|
+
allow(subject).to receive(:version_is_less).and_return(false)
|
|
2701
|
+
allow(Timeout).to receive(:timeout).and_raise(Timeout::Error)
|
|
2702
|
+
expect(subject).to receive(:fail_test).with('PuppetDB took too long to start')
|
|
2703
|
+
|
|
2704
|
+
subject.check_puppetdb_status_endpoint(unixhost)
|
|
2705
|
+
end
|
|
2706
|
+
end
|
|
2707
|
+
end
|
|
2708
|
+
|
|
2666
2709
|
describe '#get_puppet_agent_version' do
|
|
2667
2710
|
|
|
2668
2711
|
context 'when the puppet_agent version is set on an argument' do
|