Commit graph

607 commits

Author SHA1 Message Date
Mahima Singh
6d6e998bf4 Fix RuboCop style violations 2025-12-19 13:33:43 +05:30
Mahima Singh
a83916a0a4 Fix queue reliability test failures
- Add skip_metrics parameter to move_to_dlq to avoid double-counting when called from purge
- Fix purge_pending_queue to only increment count when not in dry-run mode
- Add nil check for config redis before accessing data_ttl
- Update health check tests to allow all gauge calls before checking specific metrics
- Reorder push_health_metrics to emit error/queue/task metrics before status

All 851 tests now pass including 40 queue reliability tests.
2025-12-19 13:29:34 +05:30
Mahima Singh
b3be210f99 Add DLQ, auto-purge, and health checks for Redis queues
- Implement dead-letter queue (DLQ) to capture failed VM operations
- Implement auto-purge to clean up stale queue entries
- Implement health checks to monitor queue health
- Add comprehensive tests and documentation

Features:
- DLQ captures failures from pending, clone, and ready queues
- Auto-purge removes stale VMs with configurable thresholds
- Health checks expose metrics for monitoring and alerting
- All features opt-in via configuration (backward compatible)
2025-12-19 13:17:02 +05:30
isaac-hammes
e305d38a9f (maint) Release version 3.7.0 2025-05-20 13:16:23 -07:00
isaac-hammes
f6af7cd2a6 (P4DEVOPS-6096) Include VMs that have been requested but not moved to pending when getting queue metrics 2025-05-08 11:45:31 -07:00
isaac-hammes
e9598a9f47 (RE-15817) Reword fail warning and get error from redis before generating message 2023-10-11 08:48:43 -07:00
Jake Spain
811bf0bd15
3.6.0 release prep 2023-10-05 15:27:40 -04:00
isaac-hammes
04464e305c (maint) Fix message for timeout notification. 2023-08-31 11:22:58 -07:00
isaac-hammes
6eb9b9d3b1 (maint) Release prep for version 3.5.1 2023-08-24 06:37:59 -07:00
isaac-hammes
1c5b066c94 (maint) Fix bug by removing redis transaction 2023-08-23 12:03:26 -07:00
isaac-hammes
8beab7f874 (maint) Fix bug where fail_pending_vm was logging an error before any timeouts are reached. 2023-08-23 08:41:07 -07:00
isaac-hammes
1130cdd65c (maint) Release prep for version 3.5.0 2023-08-23 05:56:46 -07:00
isaac-hammes
eee7c4082a (maint) Raise error when ip address is not given to vm after clone. 2023-08-22 13:36:33 -07:00
isaac-hammes
17a1831952 (POD-8) Add timeout_notification config to log warning before vm is destroyed. 2023-08-22 12:09:17 -07:00
Jake Spain
fdbb0f3a77
Add ability to use bind_as with a service account 2023-08-21 07:17:47 -04:00
isaac-hammes
089071b1b9 (maint) Release prep for version 3.4.0 2023-08-18 08:58:37 -07:00
isaac-hammes
43f085352b (POD-10) Log reason for failed VM checks. 2023-08-17 13:41:15 -07:00
isaac-hammes
236765709a (maint) Release prep for version 3.3.0 2023-08-15 09:24:45 -07:00
isaac-hammes
e7322577c7 Fix rubocop 2023-08-10 09:24:17 -07:00
isaac-hammes
113ca2dacb
Merge branch 'main' into update_redis 2023-08-10 08:48:16 -07:00
Jake Spain
77ed477522
3.2.0 release prep 2023-08-10 09:50:58 -04:00
isaac-hammes
ac578eef15 (RE-15162) Update OTEL gems. 2023-08-10 06:15:27 -07:00
Jake Spain
c1808632c8
Do not attempt loading DNS classes if none are defined 2023-08-09 10:04:51 -04:00
isaac-hammes
46156fd85f Convert Times to strings when being added to redis. 2023-08-08 11:05:55 -07:00
isaac-hammes
30820ec115 (RE-15162) Update Redis gem to version 5 2023-08-07 08:37:17 -07:00
Jake Spain
92ad13cd04
3.1.0 release prep 2023-05-01 08:19:29 -04:00
Jake Spain
649aef7339
Rubocop fix: Style/SlicingWithRange 2023-04-21 08:43:11 -04:00
Jake Spain
0f7cc78525
3.0.0 release prep 2023-03-28 17:21:24 -04:00
Jake Spain
669ecaef48
Point dashboard to v3 api 2023-03-27 21:27:46 -04:00
Jake Spain
528e9635d1
exit application if domain setting is used 2023-03-27 21:27:45 -04:00
Jake Spain
527f42cca9
Remove api reroute in favor of using versioned api directly 2023-03-27 21:27:44 -04:00
Jake Spain
93201756a0
Add v3 api and remove v2 2023-03-27 21:27:43 -04:00
Jake Spain
91248fe23a
Added spec tests for Vmpooler::Dns 2023-03-27 21:27:40 -04:00
Jake Spain
eaa1104dd7
Fix rubocops 2023-03-27 21:27:38 -04:00
Jake Spain
da4015f5b3
Refactor obtaining and saving ip address 2023-03-27 21:27:37 -04:00
Jake Spain
0119126cd1
Update hostname_shorten and callers 2023-03-27 21:27:36 -04:00
Jake Spain
35dc7cb26f
Update domain in V2 api 2023-03-27 21:27:35 -04:00
Jake Spain
aeabb7e134
Remove global domain usage from pool manager 2023-03-27 21:27:34 -04:00
Jake Spain
268ff9f981
Add dns_config method to provider base 2023-03-27 21:27:33 -04:00
Jake Spain
6f3d853271
Do not create/delete records if using dynamic dns 2023-03-27 21:27:32 -04:00
Jake Spain
b1e20a2fc0
Get zone from config and add dns/base_spec 2023-03-27 21:27:30 -04:00
Jake Spain
65f04254a8
Add delete_record 2023-03-27 21:27:29 -04:00
Jake Spain
ac96550f57
Stub out dns provider usage 2023-03-27 21:27:15 -04:00
Jake Spain
c18edea931
2.5.0 release prep 2023-03-06 14:40:07 -05:00
isaac-hammes
1a75edcb60 (maint) Update to 9.4.1.0-jdk8 and fix spec test. 2023-03-02 11:14:47 -08:00
isaac-hammes
60fe266c9e (maint) Use timeout builtin to TCPSocket when opening sockets. 2023-03-02 10:56:40 -08:00
kfjohnson
72928ce80d
Merge pull request #502 from puppetlabs/maint-upgrade-jruby-9.3-nokogiri
(maint) Bump version to 2.4.0
2022-07-25 09:28:39 -07:00
kfjohnson
c50887d63e
Merge pull request #501 from puppetlabs/maint-bug-ondemand-retry
(bug) Prevent failing VMs to be retried infinitely (ondemand)
2022-07-25 09:28:19 -07:00
Samuel Beaulieu
b859743694
(maint) Bump version to 2.4.0
Upgrade to jruby 9.3.6.0
Remove workaround for jruby 9.2 using JRUBY_OPTS=-Xinvokedynamic.yield=false
Removed unused dependency nokogiri?
2022-07-25 11:09:59 -05:00
Samuel Beaulieu
7f1f8def8e
fix comment offence 2022-07-25 09:12:12 -05:00