Commit graph

128 commits

Author SHA1 Message Date
Mahima Singh
e99086a328 (maint) Fix CHANGELOG format for 3.4.0 release 2026-03-17 13:00:58 +05:30
Mahima Singh
8eb52ee686
Merge pull request #63 from puppetlabs/release_prep_3-4-0
(maint) Release prep 3.4.0
2026-03-17 12:30:58 +05:30
Mahima Singh
3000251962 (maint) Release prep 3.4.0 2026-03-17 12:28:07 +05:30
Mahima Singh
c5994d6383
Merge pull request #62 from puppetlabs/P4DEVOPS-9438-circuit-breaker
(P4DEVOPS-9438) Wire circuit breaker into vSphere provider with connection timeouts
2026-03-17 12:25:09 +05:30
Mahima Singh
a10e06bcfa Update connect_to_vsphere specs to expect read_timeout and open_timeout args 2026-03-17 12:22:35 +05:30
Mahima Singh
bbf26502b9 Add universal-java-17 platform to Gemfile.lock for JRuby 9.4.14 2026-03-17 12:03:21 +05:30
Mahima Singh
4cf36f5780 Update JRuby from 9.4.3.0 to 9.4.14.0 in CI workflow 2026-03-17 11:49:52 +05:30
Mahima Singh
989d0a1c12 Update Gemfile.lock to vmpooler 3.9.0 and fix rubocop offenses
- bundle update vmpooler to pick up 3.9.0 (circuit breaker + adaptive timeout)
- Fix 5 pre-existing rubocop style offenses (all autocorrected)
2026-03-17 11:36:30 +05:30
Mahima Singh
f2390311df Wrap vms_in_pool/get_vm/get_vm_ip_address with Timeout.timeout
The read_timeout on Net::HTTP connections may not reliably interrupt
blocking Java SSL socket reads in JRuby. Add an explicit Timeout.timeout
wrapper around the connection pool block in vms_in_pool, get_vm, and
get_vm_ip_address so that if vSphere hangs mid-operation (after the
health check passes), the Timeout::Error (a StandardError in JRuby 9.x)
propagates to the circuit breaker which counts it as a failure.

After 5 consecutive timeouts the circuit opens and subsequent check_pool
cycles fail immediately rather than blocking all pool threads.
2026-03-13 13:29:18 +05:30
Mahima Singh
d9aee6baee Add vsphere_connection_timeout to prevent thread hangs when vSphere unresponsive 2026-03-13 11:49:16 +05:30
Mahima Singh
4a57a270f6 Wire circuit breaker into vsphere provider public methods
Without this change, the circuit breaker was initialized in base.rb
but never called in the vsphere provider, so vSphere API failures
(TCP timeouts, connection errors) would not trip the circuit open.

Changes:
- Add with_circuit_breaker helper that calls @circuit_breaker.call
  if circuit_breaker is configured, otherwise yields directly
- Wrap vms_in_pool, get_vm, create_vm, destroy_vm, get_vm_ip_address
  with with_circuit_breaker so vSphere failures trip the circuit
- Replace 'return' with 'next' inside blocks where needed to ensure
  circuit breaker on_success is properly called on partial results

This prevents cascading failures: once the circuit opens after
failure_threshold errors, subsequent calls fail fast (CircuitOpenError)
instead of waiting for the full TCP timeout (~18s per pool).

Resolves: P4DEVOPS-9438
2026-03-12 16:49:20 +05:30
Jake Spain
3c7bd24fa4
Merge pull request #61 from puppetlabs/fix-release-prep-param
(maint) Fix missing param in auto_release_prep
2024-01-19 16:48:30 -05:00
Jake Spain
ed03dc54fa
Remove interactive option from release prep script 2024-01-19 15:33:34 -05:00
Jake Spain
d6127f92de
Fix missing param in auto_release_prep 2024-01-15 09:25:02 -05:00
Jake Spain
3eff725eee
Merge pull request #60 from puppetlabs/dependabot/github_actions/actions/github-script-7
Bump actions/github-script from 6 to 7
2023-12-07 08:52:15 -05:00
Jake Spain
d1d4c936c8
Merge pull request #59 from puppetlabs/dependabot/github_actions/actions/checkout-4
Bump actions/checkout from 3 to 4
2023-12-07 08:51:59 -05:00
Jake Spain
eed45279f7
Merge pull request #58 from puppetlabs/dependabot/github_actions/actions/setup-java-4
Bump actions/setup-java from 3 to 4
2023-12-07 08:51:39 -05:00
dependabot[bot]
15cd166f9d
Bump actions/github-script from 6 to 7
Bumps [actions/github-script](https://github.com/actions/github-script) from 6 to 7.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-07 13:49:11 +00:00
dependabot[bot]
71bcf16ee8
Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-07 13:49:05 +00:00
dependabot[bot]
29d3d29fee
Bump actions/setup-java from 3 to 4
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3 to 4.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-07 13:49:00 +00:00
Jake Spain
ee6e01f601
Merge pull request #57 from puppetlabs/repo-sync
Add dependabot, release prep, and label reusable workflows from release-engineering-repo-standards
2023-12-07 08:48:26 -05:00
Jake Spain
f04162f421
syncing files from release-engineering-repo-standards 2023-12-06 17:17:25 -05:00
isaac-hammes
c91e62150a
Merge pull request #53 from puppetlabs/RE-15750
(RE-15750) Handle vm no longer existing when attempting to migrate.
2023-09-07 15:07:44 -07:00
isaac-hammes
a223bf4d61 (RE-15750) Handle vm no longer existing when attempting to migrate. 2023-09-07 12:47:58 -07:00
isaac-hammes
93b43ed99d
Merge pull request #52 from puppetlabs/3.3.4-release-prep
(maint) Release prep for version 3.3.4
2023-08-30 09:39:07 -07:00
isaac-hammes
7a6685927a (maint) Release prep for version 3.3.4 2023-08-30 09:32:36 -07:00
isaac-hammes
24204421c6
Merge pull request #51 from puppetlabs/fix_redis_commands
(maint) Convert booleans and Time objects to strings when being added to redis
2023-08-30 09:07:20 -07:00
isaac-hammes
9fa1072a32 (maint) Convert booleans and Time objects to strings when being added to redis 2023-08-30 08:57:07 -07:00
isaac-hammes
47176e6b5b
Merge pull request #50 from puppetlabs/3.3.3-release-prep
(maint) Release prep for version 3.3.3
2023-08-28 08:25:38 -07:00
isaac-hammes
1dc1d8e568 (maint) Release prep for version 3.3.3 2023-08-28 08:04:27 -07:00
isaac-hammes
b4819f2d39
Merge pull request #49 from puppetlabs/update_for_redis_5
(maint) Update Gemfile.lock and use block for transaction.
2023-08-28 07:48:31 -07:00
isaac-hammes
81f5192ded (maint) Update Gemfile.lock and use block for transaction. 2023-08-28 07:39:11 -07:00
isaac-hammes
18068ecacf
Merge pull request #48 from puppetlabs/3.3.2-release-prep
(maint) Release prep for version 3.3.2
2023-08-23 06:15:20 -07:00
isaac-hammes
69629e1019 (maint) Release prep for version 3.3.2 2023-08-23 06:03:47 -07:00
isaac-hammes
d538eb200e
Merge pull request #47 from puppetlabs/increase_timeout_to_obtain_ip
(maint) Increase timeout for cloned vms to obtain IPs.
2023-08-23 05:59:20 -07:00
isaac-hammes
978fc0031a (maint) Increase timeout for cloned vms to obtain IPs. 2023-08-23 05:46:49 -07:00
Jake Spain
c70920a56e
Merge pull request #45 from puppetlabs/3.3.1-release-prep
3.3.1 release prep
2023-08-22 08:26:27 -04:00
Jake Spain
f0c7d377d1
3.3.1 release prep 2023-08-22 08:23:04 -04:00
Jake Spain
9971e84186
Merge pull request #44 from puppetlabs/fix-returning-ip
(RE-15710) Fix IP address that is returned and increase timeout
2023-08-22 08:16:17 -04:00
Jake Spain
7316431f78
Increase timeout for getting an IP 2023-08-21 23:27:12 -04:00
Jake Spain
f02e0eb19a
Fix getting IP by not returning a bad address 2023-08-21 23:27:03 -04:00
isaac-hammes
7822b2182e
Merge pull request #43 from puppetlabs/3.3.0-release
(maint) Release prep for version 3.3.0
2023-08-18 09:01:19 -07:00
isaac-hammes
506e874dad (maint) Release prep for version 3.3.0 2023-08-18 08:41:54 -07:00
isaac-hammes
c11a783980
Merge pull request #42 from puppetlabs/POD-10
(POD-10) Log reason for failed VM checks.
2023-08-18 06:27:48 -07:00
isaac-hammes
5ca0555a52 (POD-10) Log reason for failed VM checks. 2023-08-17 13:18:33 -07:00
Jake Spain
b2f7907618
Merge pull request #41 from puppetlabs/3.2.0-release-prep
3.2.0 release prep
2023-08-10 12:56:10 -04:00
Jake Spain
677226e83b
3.2.0 release prep 2023-08-10 12:22:00 -04:00
Jake Spain
4ba64b942a
Merge pull request #40 from puppetlabs/bump-jruby
Bump jruby to 9.4.3.0 and update lockfile
2023-08-10 11:39:07 -04:00
Jake Spain
bf46ca2642
Bump jruby to 9.4.3.0 and update lockfile 2023-08-10 10:10:23 -04:00
Jake Spain
5d79042a10
Merge pull request #39 from puppetlabs/revert_issue_management
Revert issue management change
2023-07-11 07:14:20 -04:00