-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CLI flags for VPA recommender aggregations config. #2905
CLI flags for VPA recommender aggregations config. #2905
Conversation
Welcome @amshuman-kr! |
/assign @jbartosik The failed test doesn't seem to have anything do with the change in this PR. It seems to be flakiness due to some randomness in the order of keys in the resources map. How should I proceed?
|
The failure was caused by #2886. I think I have fixed the issue now. /retest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've left a few comments. My main concern is that we are exposing as flags constants that are mutually dependent (one should be divisible by the other etc) which might not be obvious to the user.
Do you already have a use-case where you would like to modify those values? If yes can you share it? I'd like to understand what problems there are with the default implementation we propose.
vertical-pod-autoscaler/pkg/recommender/model/aggregations_config.go
Outdated
Show resolved
Hide resolved
vertical-pod-autoscaler/pkg/recommender/model/aggregations_config.go
Outdated
Show resolved
Hide resolved
vertical-pod-autoscaler/pkg/recommender/model/aggregations_config.go
Outdated
Show resolved
Hide resolved
@bskiba, Thanks for the quick review! We have clusters with non-batch workloads which still have load pattern cycles of less than 24h. Sometimes the workloads themselves might even last less than 24h (but still > 12h). We are using VPA to scale these workloads vertically. This has worked well for scaling up. But not so much for scaling down. With the default values for aggregations config, scale down happens after 24h which might be too late or might not even happen as the next load cycle has started for the next day. We were thinking of tweaking these configurations to be less than 24h. Especially, the decay half-lives to something like 4h or 8h. |
a0c61bc
to
103830e
Compare
@bskiba I have addressed all of your review comments. Could you PTAL? |
103830e
to
2ed36a0
Compare
@amshuman-kr: Cannot trigger testing until a trusted user reviews the PR and leaves an In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for reworking this.
I have small naming comments. I was thinking for a while if we can easily avoid having the global aggregations config variable but failed to find a way.
2ed36a0
to
2813f3d
Compare
@bskiba Thanks for the review and I am sorry for the delay in response. I was not keeping well last week. I have made the changes as you suggested. Can you PTAL? |
@bskiba @jbartosik @krzysied. Could you PTAL? |
I'll take a look today, apolgies for the delay! |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: bskiba The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@bskiba Thanks a lot for your reviews, support and approval! |
This PR exposes some of the aggregations configuration of VPA recommender as command-line flags in the VPA recommender. This can help change the default behaviour of the VPA recommender for different workload use-cases. The pre-existing constant values have been retained as the default values.