New Solace Direct Messaging Scaler#6546
Conversation
Signed-off-by: Alfonso Chacón <[email protected]>
Signed-off-by: Alfonso Chacón <[email protected]>
Signed-off-by: Alfonso Chacón <[email protected]>
Signed-off-by: Alfonso Chacón <[email protected]>
Signed-off-by: Alfonso Chacón <[email protected]>
Signed-off-by: Alfonso Chacón <[email protected]>
…scarded messages while scaling up Signed-off-by: Alfonso Chacón <[email protected]>
- Added Configuration validations - Variables Refactor - Multiple URLs - Remove commented blocks Signed-off-by: Alfonso Chacón <[email protected]>
Signed-off-by: Alfonso Chacón <[email protected]>
Signed-off-by: Alfonso Chacón <[email protected]>
Signed-off-by: alfonso-chacon <[email protected]>
Signed-off-by: Alfonso Chacón <[email protected]>
* Code Cleanup - CodeQL/StaticChecks
Signed-off-by: Alfonso Chacón <[email protected]>
* Code cleanup /golangci-lint
Signed-off-by: Alfonso Chacón <[email protected]>
Signed-off-by: Alfonso Chacón <[email protected]>
|
/run-e2e solace_dm |
Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]>
Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]>
Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]>
Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]>
Signed-off-by: Alfonso Chacón <[email protected]>
Signed-off-by: Alfonso Chacón <[email protected]>
|
/run-e2e solace_dm |
|
@JorTurFer Is there anything I can do for the failed check? its complaining about a timeout in a API === FAIL: pkg/scalers TestPredictKubeGetMetricSpecForScaling (3.00s) |
|
@wozniakjan @zroubalik @JorTurFer Hi Guys! @rickbrouwer approved the pull request, can you help me with your approval? |
|
/run-e2e solace_dm |
There was a problem hiding this comment.
Pull Request Overview
This pull request introduces a new Solace Direct Messaging scaler for KEDA, which enables scaling based on client transmission metrics from Solace message brokers. The scaler monitors aggregated client transmission rates (both message and byte rates) and queue metrics to make scaling decisions.
Key Changes
- Adds a new Solace Direct Messaging scaler with support for four different transmission rate metrics
- Implements comprehensive test coverage including unit tests and end-to-end integration tests
- Integrates the new scaler into KEDA's scaling infrastructure
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/scalers/solace_dm_scaler.go | Core implementation of the Solace Direct Messaging scaler with SEMP API integration |
| pkg/scalers/solace_dm_scaler_test.go | Comprehensive unit tests covering configuration parsing and validation scenarios |
| pkg/scaling/scalers_builder.go | Registration of the new scaler in KEDA's scaler factory |
| tests/scalers/solace/direct-messaging/solace_dm_test.go | End-to-end integration tests with Solace broker deployment |
| CHANGELOG.md | Documentation of the new feature addition |
JorTurFer
left a comment
There was a problem hiding this comment.
great job!
Just a nitpick inline, but I already keep the approval to merge the PR after comments are ready
Co-authored-by: Copilot <[email protected]> Signed-off-by: alfonso-chacon <[email protected]>
Co-authored-by: Copilot <[email protected]> Signed-off-by: alfonso-chacon <[email protected]>
Co-authored-by: Copilot <[email protected]> Signed-off-by: alfonso-chacon <[email protected]>
Co-authored-by: Copilot <[email protected]> Signed-off-by: alfonso-chacon <[email protected]>
Signed-off-by: Alfonso Chacón <[email protected]>
|
Can you do a |
Signed-off-by: Alfonso Chacón <[email protected]>
|
done, smoke and e2e tests pending |
|
/run-e2e solace_dm |
|
/run-e2e solace_dm |
|
@zroubalik @wozniakjan Hi Guys, Can you please approve? |
* * Solace Direct Messaging Scaler Signed-off-by: Alfonso Chacón <[email protected]> * Fix D-1 queue calculation Signed-off-by: Alfonso Chacón <[email protected]> * Refactor variables Signed-off-by: Alfonso Chacón <[email protected]> * Inlcude D-1 messages in calculation Signed-off-by: Alfonso Chacón <[email protected]> * Modify url to be able to use https protocol Signed-off-by: Alfonso Chacón <[email protected]> * Added UnsafeSSL parameter to avoid SSL validations Signed-off-by: Alfonso Chacón <[email protected]> * Added a factor to multiply the weight of queues messages to reduce discarded messages while scaling up Signed-off-by: Alfonso Chacón <[email protected]> * Refactor and enhancements - Added Configuration validations - Variables Refactor - Multiple URLs - Remove commented blocks Signed-off-by: Alfonso Chacón <[email protected]> * * Scaler E2E testing Signed-off-by: Alfonso Chacón <[email protected]> * Adding New Solace Direct Messaging Scaler in CHANGELOG.md Signed-off-by: Alfonso Chacón <[email protected]> * * Code Cleanup - CodeQL/StaticChecks Signed-off-by: Alfonso Chacón <[email protected]> * * Code cleanup /golangci-lint Signed-off-by: Alfonso Chacón <[email protected]> * * Correct order in CHANGELOG.md Signed-off-by: Alfonso Chacón <[email protected]> * * Remove trailing white spaces Signed-off-by: Alfonso Chacón <[email protected]> * * Cleanup code - remove comment Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Cleanup code - remove comment Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Cleanup code - remove comment Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Cleanup code - change log level Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * E2E tests - reduce time in scale down cfg Signed-off-by: Alfonso Chacón <[email protected]> * * E2E fix typo Signed-off-by: Alfonso Chacón <[email protected]> * * Avoid read secrets from metadata Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Remove constant used once Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Remove constant used once on logger init Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Code cleanup recommendations - Move regex to pkg level - Remove unnecessary struct and interface Signed-off-by: Alfonso Chacón <[email protected]> * * Code cleanup Co-authored-by: Zbynek Roubalik <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Code cleanup Co-authored-by: Zbynek Roubalik <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Updated to sync with other sol scaler Signed-off-by: Alfonso Chacón <[email protected]> * * Remove unnecessary trailing newline Signed-off-by: Alfonso Chacón <[email protected]> * Remove optional keyword for optional fields Co-authored-by: Jan Wozniak <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Code fixes -move unused variables to test file -return json unmarshall error Signed-off-by: Alfonso Chacón <[email protected]> * * Removing redundant validation Signed-off-by: Alfonso Chacón <[email protected]> * * Remove unnecessary new line Signed-off-by: Alfonso Chacón <[email protected]> * fix triggerMetadata syntax Co-authored-by: Copilot <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * Update pkg/scalers/solace_dm_scaler.go Co-authored-by: Copilot <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * Update tests/scalers/solace/direct-messaging/solace_dm_test.go Co-authored-by: Copilot <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * Update tests/scalers/solace/direct-messaging/solace_dm_test.go Co-authored-by: Copilot <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * fix a typo and change the ScaleUp/Down to ScaleIn/Out Signed-off-by: Alfonso Chacón <[email protected]> * * fix a typo and change the ScaleUp/Down to ScaleIn/Out Signed-off-by: Alfonso Chacón <[email protected]> --------- Signed-off-by: Alfonso Chacón <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> Co-authored-by: Jorge Turrado Ferrero <[email protected]> Co-authored-by: Zbynek Roubalik <[email protected]> Co-authored-by: Jan Wozniak <[email protected]> Co-authored-by: Copilot <[email protected]> Signed-off-by: David Pochopsky <[email protected]>
* * Solace Direct Messaging Scaler Signed-off-by: Alfonso Chacón <[email protected]> * Fix D-1 queue calculation Signed-off-by: Alfonso Chacón <[email protected]> * Refactor variables Signed-off-by: Alfonso Chacón <[email protected]> * Inlcude D-1 messages in calculation Signed-off-by: Alfonso Chacón <[email protected]> * Modify url to be able to use https protocol Signed-off-by: Alfonso Chacón <[email protected]> * Added UnsafeSSL parameter to avoid SSL validations Signed-off-by: Alfonso Chacón <[email protected]> * Added a factor to multiply the weight of queues messages to reduce discarded messages while scaling up Signed-off-by: Alfonso Chacón <[email protected]> * Refactor and enhancements - Added Configuration validations - Variables Refactor - Multiple URLs - Remove commented blocks Signed-off-by: Alfonso Chacón <[email protected]> * * Scaler E2E testing Signed-off-by: Alfonso Chacón <[email protected]> * Adding New Solace Direct Messaging Scaler in CHANGELOG.md Signed-off-by: Alfonso Chacón <[email protected]> * * Code Cleanup - CodeQL/StaticChecks Signed-off-by: Alfonso Chacón <[email protected]> * * Code cleanup /golangci-lint Signed-off-by: Alfonso Chacón <[email protected]> * * Correct order in CHANGELOG.md Signed-off-by: Alfonso Chacón <[email protected]> * * Remove trailing white spaces Signed-off-by: Alfonso Chacón <[email protected]> * * Cleanup code - remove comment Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Cleanup code - remove comment Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Cleanup code - remove comment Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Cleanup code - change log level Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * E2E tests - reduce time in scale down cfg Signed-off-by: Alfonso Chacón <[email protected]> * * E2E fix typo Signed-off-by: Alfonso Chacón <[email protected]> * * Avoid read secrets from metadata Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Remove constant used once Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Remove constant used once on logger init Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Code cleanup recommendations - Move regex to pkg level - Remove unnecessary struct and interface Signed-off-by: Alfonso Chacón <[email protected]> * * Code cleanup Co-authored-by: Zbynek Roubalik <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Code cleanup Co-authored-by: Zbynek Roubalik <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Updated to sync with other sol scaler Signed-off-by: Alfonso Chacón <[email protected]> * * Remove unnecessary trailing newline Signed-off-by: Alfonso Chacón <[email protected]> * Remove optional keyword for optional fields Co-authored-by: Jan Wozniak <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Code fixes -move unused variables to test file -return json unmarshall error Signed-off-by: Alfonso Chacón <[email protected]> * * Removing redundant validation Signed-off-by: Alfonso Chacón <[email protected]> * * Remove unnecessary new line Signed-off-by: Alfonso Chacón <[email protected]> * fix triggerMetadata syntax Co-authored-by: Copilot <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * Update pkg/scalers/solace_dm_scaler.go Co-authored-by: Copilot <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * Update tests/scalers/solace/direct-messaging/solace_dm_test.go Co-authored-by: Copilot <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * Update tests/scalers/solace/direct-messaging/solace_dm_test.go Co-authored-by: Copilot <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * fix a typo and change the ScaleUp/Down to ScaleIn/Out Signed-off-by: Alfonso Chacón <[email protected]> * * fix a typo and change the ScaleUp/Down to ScaleIn/Out Signed-off-by: Alfonso Chacón <[email protected]> --------- Signed-off-by: Alfonso Chacón <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> Co-authored-by: Jorge Turrado Ferrero <[email protected]> Co-authored-by: Zbynek Roubalik <[email protected]> Co-authored-by: Jan Wozniak <[email protected]> Co-authored-by: Copilot <[email protected]> Signed-off-by: Dmitriy Altuhov <[email protected]>
* * Solace Direct Messaging Scaler Signed-off-by: Alfonso Chacón <[email protected]> * Fix D-1 queue calculation Signed-off-by: Alfonso Chacón <[email protected]> * Refactor variables Signed-off-by: Alfonso Chacón <[email protected]> * Inlcude D-1 messages in calculation Signed-off-by: Alfonso Chacón <[email protected]> * Modify url to be able to use https protocol Signed-off-by: Alfonso Chacón <[email protected]> * Added UnsafeSSL parameter to avoid SSL validations Signed-off-by: Alfonso Chacón <[email protected]> * Added a factor to multiply the weight of queues messages to reduce discarded messages while scaling up Signed-off-by: Alfonso Chacón <[email protected]> * Refactor and enhancements - Added Configuration validations - Variables Refactor - Multiple URLs - Remove commented blocks Signed-off-by: Alfonso Chacón <[email protected]> * * Scaler E2E testing Signed-off-by: Alfonso Chacón <[email protected]> * Adding New Solace Direct Messaging Scaler in CHANGELOG.md Signed-off-by: Alfonso Chacón <[email protected]> * * Code Cleanup - CodeQL/StaticChecks Signed-off-by: Alfonso Chacón <[email protected]> * * Code cleanup /golangci-lint Signed-off-by: Alfonso Chacón <[email protected]> * * Correct order in CHANGELOG.md Signed-off-by: Alfonso Chacón <[email protected]> * * Remove trailing white spaces Signed-off-by: Alfonso Chacón <[email protected]> * * Cleanup code - remove comment Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Cleanup code - remove comment Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Cleanup code - remove comment Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Cleanup code - change log level Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * E2E tests - reduce time in scale down cfg Signed-off-by: Alfonso Chacón <[email protected]> * * E2E fix typo Signed-off-by: Alfonso Chacón <[email protected]> * * Avoid read secrets from metadata Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Remove constant used once Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Remove constant used once on logger init Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Code cleanup recommendations - Move regex to pkg level - Remove unnecessary struct and interface Signed-off-by: Alfonso Chacón <[email protected]> * * Code cleanup Co-authored-by: Zbynek Roubalik <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Code cleanup Co-authored-by: Zbynek Roubalik <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Updated to sync with other sol scaler Signed-off-by: Alfonso Chacón <[email protected]> * * Remove unnecessary trailing newline Signed-off-by: Alfonso Chacón <[email protected]> * Remove optional keyword for optional fields Co-authored-by: Jan Wozniak <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Code fixes -move unused variables to test file -return json unmarshall error Signed-off-by: Alfonso Chacón <[email protected]> * * Removing redundant validation Signed-off-by: Alfonso Chacón <[email protected]> * * Remove unnecessary new line Signed-off-by: Alfonso Chacón <[email protected]> * fix triggerMetadata syntax Co-authored-by: Copilot <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * Update pkg/scalers/solace_dm_scaler.go Co-authored-by: Copilot <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * Update tests/scalers/solace/direct-messaging/solace_dm_test.go Co-authored-by: Copilot <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * Update tests/scalers/solace/direct-messaging/solace_dm_test.go Co-authored-by: Copilot <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * fix a typo and change the ScaleUp/Down to ScaleIn/Out Signed-off-by: Alfonso Chacón <[email protected]> * * fix a typo and change the ScaleUp/Down to ScaleIn/Out Signed-off-by: Alfonso Chacón <[email protected]> --------- Signed-off-by: Alfonso Chacón <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> Co-authored-by: Jorge Turrado Ferrero <[email protected]> Co-authored-by: Zbynek Roubalik <[email protected]> Co-authored-by: Jan Wozniak <[email protected]> Co-authored-by: Copilot <[email protected]>
* * Solace Direct Messaging Scaler Signed-off-by: Alfonso Chacón <[email protected]> * Fix D-1 queue calculation Signed-off-by: Alfonso Chacón <[email protected]> * Refactor variables Signed-off-by: Alfonso Chacón <[email protected]> * Inlcude D-1 messages in calculation Signed-off-by: Alfonso Chacón <[email protected]> * Modify url to be able to use https protocol Signed-off-by: Alfonso Chacón <[email protected]> * Added UnsafeSSL parameter to avoid SSL validations Signed-off-by: Alfonso Chacón <[email protected]> * Added a factor to multiply the weight of queues messages to reduce discarded messages while scaling up Signed-off-by: Alfonso Chacón <[email protected]> * Refactor and enhancements - Added Configuration validations - Variables Refactor - Multiple URLs - Remove commented blocks Signed-off-by: Alfonso Chacón <[email protected]> * * Scaler E2E testing Signed-off-by: Alfonso Chacón <[email protected]> * Adding New Solace Direct Messaging Scaler in CHANGELOG.md Signed-off-by: Alfonso Chacón <[email protected]> * * Code Cleanup - CodeQL/StaticChecks Signed-off-by: Alfonso Chacón <[email protected]> * * Code cleanup /golangci-lint Signed-off-by: Alfonso Chacón <[email protected]> * * Correct order in CHANGELOG.md Signed-off-by: Alfonso Chacón <[email protected]> * * Remove trailing white spaces Signed-off-by: Alfonso Chacón <[email protected]> * * Cleanup code - remove comment Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Cleanup code - remove comment Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Cleanup code - remove comment Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Cleanup code - change log level Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * E2E tests - reduce time in scale down cfg Signed-off-by: Alfonso Chacón <[email protected]> * * E2E fix typo Signed-off-by: Alfonso Chacón <[email protected]> * * Avoid read secrets from metadata Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Remove constant used once Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Remove constant used once on logger init Co-authored-by: Jorge Turrado Ferrero <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Code cleanup recommendations - Move regex to pkg level - Remove unnecessary struct and interface Signed-off-by: Alfonso Chacón <[email protected]> * * Code cleanup Co-authored-by: Zbynek Roubalik <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Code cleanup Co-authored-by: Zbynek Roubalik <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Updated to sync with other sol scaler Signed-off-by: Alfonso Chacón <[email protected]> * * Remove unnecessary trailing newline Signed-off-by: Alfonso Chacón <[email protected]> * Remove optional keyword for optional fields Co-authored-by: Jan Wozniak <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * Code fixes -move unused variables to test file -return json unmarshall error Signed-off-by: Alfonso Chacón <[email protected]> * * Removing redundant validation Signed-off-by: Alfonso Chacón <[email protected]> * * Remove unnecessary new line Signed-off-by: Alfonso Chacón <[email protected]> * fix triggerMetadata syntax Co-authored-by: Copilot <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * Update pkg/scalers/solace_dm_scaler.go Co-authored-by: Copilot <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * Update tests/scalers/solace/direct-messaging/solace_dm_test.go Co-authored-by: Copilot <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * Update tests/scalers/solace/direct-messaging/solace_dm_test.go Co-authored-by: Copilot <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> * * fix a typo and change the ScaleUp/Down to ScaleIn/Out Signed-off-by: Alfonso Chacón <[email protected]> * * fix a typo and change the ScaleUp/Down to ScaleIn/Out Signed-off-by: Alfonso Chacón <[email protected]> --------- Signed-off-by: Alfonso Chacón <[email protected]> Signed-off-by: alfonso-chacon <[email protected]> Co-authored-by: Jorge Turrado Ferrero <[email protected]> Co-authored-by: Zbynek Roubalik <[email protected]> Co-authored-by: Jan Wozniak <[email protected]> Co-authored-by: Copilot <[email protected]>
New Solace Direct Messaging Scaler Added
Checklist
Fixes #
Fixes #6545
[#1537] (kedacore/keda-docs#1537) - Documentation