keda
keda copied to clipboard
Add etcd scaler
Signed-off-by: ytz [email protected]
Hi, I'm a software engineer from Huawei Cloud. Thanks to KEDA for providing us with a flexible scaling project that can scale applications from zero. We find that when the pollingInterval parameter is set to a small value, the scaler will frequently pull metrics from the event source, which leads to an increase in the system load. So by watching the an etcd key, a passively received push mode, the scaler can activate applications with lower load usage than frequent pull mode.
Checklist
- [x] Commits are signed with Developer Certificate of Origin (DCO - learn more)
- [x] Tests have been added
- [ ] A PR is opened to update our Helm chart (repo) (if applicable, ie. when deployment manifests are modified)
- [x] A PR is opened to update the documentation on (repo) (if applicable)
- [ ] Changelog has been updated and is aligned with our changelog requirements
Fixes #
Relates to kedacore/keda-docs#914
Can you please fix the DCO, and Linter problems (Static Checks).
Also could you please write e2e test for this scaler? https://github.com/kedacore/keda/tree/main/tests
Sure! But I'm going to bed. I'll do it tomorrow.
Thank you for the contribution! Does Huawei Cloud want to be the maintainer of this scaler? (see scaler governance)
Out of curiosity, what is the Run()
method used for here?
Thank you for the contribution! Does Huawei Cloud want to be the maintainer of this scaler? (see scaler governance)
We are very glad to be the maintainer of this scaler! The team we belong to is Huawei cloud Middleware, so I wonder if we can represent the whole Huawei Cloud.
Out of curiosity, what is the
Run()
method used for here?
The Run() method passively receives the push event from the Etcd event source. It has the same effect as setting the pollingInterval parameter to 0, but with lower load usage.
@WindNotStop sorry for the delay, could you please rebase this PR so we can proceed?
@WindNotStop there are still some static checks & validation issues, also please rebase, we are re-introducing vendor
directory.
/run-e2e etcd* Update: You can check the progress here
/run-e2e etcd* Update: You can check the progress here
/run-e2e etcd* Update: You can check the progress here
@JorTurFer @zroubalik Can you re-review this PR please to see if we need to change things before our release on Thursday?
@JorTurFer @zroubalik Can you re-review this PR please to see if we need to change things before our release on Thursday?
I did it, I'm waiting the changes related with using "key" from metadata for etcdKey and "key" from auth for tls key, this could work but it's confusing, the discussion in in docs PR. The rest of the PR LGTM
/run-e2e etcd* Update: You can check the progress here
@WindNotStop e2e tests failed, could you please take a look? The link to the run is in the comment above:
https://github.com/kedacore/keda/pull/3598#issuecomment-1339212970
@WindNotStop could you please rebase, so this contains the fix for the close and then we will run e2e?
/run-e2e etcd* Update: You can check the progress here