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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 330fb055e63900ac5bdefd9d48a122eb35a13872c6a820bb072fe88409415ab7
4
- data.tar.gz: 17588df9d4e67e74cab914118a35457d66aad62397c6c1194c41eb1ba51e967c
3
+ metadata.gz: 8c64a23179a869b41ceb2ea32740a983e8a27172939f4347b6401d94265c1f26
4
+ data.tar.gz: 1f961918eda0b697d7246d4abef2cf451f742a5f816a9667e3d2259ca415d7b9
5
5
  SHA512:
6
- metadata.gz: 50576aa57b1e28945226720abe0f959cf1c05b56c29e84f61a215b461bb171728b27c0b03eaea233b9da69fc948938536c23ee8057bc7c54f5647c1ef6d6fd94
7
- data.tar.gz: 8e5c488e4dbfd2a940f78a7bf434efc5d9fac63ffece679e07d5a078a616c807c480fe234b53d3710bc0b67c447362382abecefa25e14139f5762ba2195bd0b9
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.5](https://github.com/puppetlabs/beaker-pe/tree/3.6.5) (2026-07-29)
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 pe_run_in_parallel option, serial by default on macOS [#309](https://github.com/puppetlabs/beaker-pe/pull/309) ([Magisus](https://github.com/Magisus))
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
- **Fixed bugs:**
35
+ **Merged pull requests:**
16
36
 
17
- - [PE-41009]: Fall back to agent-downloads when promoted agent is missing from the public mirror [#306](https://github.com/puppetlabs/beaker-pe/pull/306) ([Magisus](https://github.com/Magisus))
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
- **Fixed bugs:**
44
+ **Implemented enhancements:**
24
45
 
25
- - [PE-45082]: Broaden is_expected_pe_postgres_failure? allowlist [#303](https://github.com/puppetlabs/beaker-pe/pull/303) ([steveax](https://github.com/steveax))
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 flag to second puppet runs to prevent lock collisions [#300](https://github.com/puppetlabs/beaker-pe/pull/300) ([jonathannewman](https://github.com/jonathannewman))
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
- - \(PE-40793\) Follow https->>http redirects [\#287](https://github.com/puppetlabs/beaker-pe/pull/287) ([tvpartytonight](https://github.com/tvpartytonight))
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-12)
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\) Add ruby 3.2 support [\#285](https://github.com/puppetlabs/beaker-pe/pull/285) ([tvpartytonight](https://github.com/tvpartytonight))
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) ([smcelmurry](https://github.com/smcelmurry))
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
- output = on(host, "curl -s http://localhost:8080/pdb/meta/v1/version", :accept_all_exit_codes => true)
1847
- match = output.stdout =~ /version.*\d+\.\d+\.\d+/
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
@@ -3,7 +3,7 @@ module Beaker
3
3
  module PE
4
4
 
5
5
  module Version
6
- STRING = '3.6.5'
6
+ STRING = '3.6.7'
7
7
  end
8
8
 
9
9
  end
@@ -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
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.5
4
+ version: 3.6.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppetlabs