Skip to content
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

VPA: fixed flags script to include constants values #7642

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

omerap12
Copy link
Member

What type of PR is this?

/kind cleanup

What this PR does / why we need it:

This PR improves the VPA flag documentation generator script introduced in #7618. Previously, when flags had default values defined as constants (e.g., DefaultOOMBumpUpRatio), the script would output 0 as the default value in the generated documentation. For example:

DefaultOOMBumpUpRatio float64 = 1.2 // Memory is increased by 20% after an OOMKill.

Would result in showing 0 as the default value instead of the actual constant reference.
This PR modifies the script to display the constant reference (e.g., model.DefaultMemoryAggregationInterval) in the documentation rather than 0.

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

Does this PR introduce a user-facing change?

NONE

Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:

NONE

@k8s-ci-robot k8s-ci-robot added kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Dec 21, 2024
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: omerap12
Once this PR has been reviewed and has the lgtm label, please assign jbartosik for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Dec 21, 2024
@omerap12
Copy link
Member Author

cc @adrianmoisey

@adrianmoisey
Copy link
Member

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Dec 24, 2024
@voelzmo
Copy link
Contributor

voelzmo commented Jan 9, 2025

Sorry for only catching up with this properly now, but I'm not sure this is the right approach. Having something different than 0 is a good first step, but we would need to actual values to be useful. Also the manual parsing of e.g. times isn't really optimal, right?
Couldn't we just call the binaries and make use of the flags package's automatically generated help? This seems to be similar to what the CA is doing: https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/hack/update-faq-flags.sh

@adrianmoisey
Copy link
Member

Sorry for only catching up with this properly now, but I'm not sure this is the right approach. Having something different than 0 is a good first step, but we would need to actual values to be useful. Also the manual parsing of e.g. times isn't really optimal, right? Couldn't we just call the binaries and make use of the flags package's automatically generated help? This seems to be similar to what the CA is doing: https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/hack/update-faq-flags.sh

Oh wow, yeah, that's a great idea!

@adrianmoisey
Copy link
Member

Is there any reason to not merge this now, and fix it later?
It's not code that gets shipped with the VPA, so this is an improvement over the existing docs.

@omerap12
Copy link
Member Author

omerap12 commented Jan 9, 2025

Sorry for only catching up with this properly now, but I'm not sure this is the right approach. Having something different than 0 is a good first step, but we would need to actual values to be useful. Also the manual parsing of e.g. times isn't really optimal, right? Couldn't we just call the binaries and make use of the flags package's automatically generated help? This seems to be similar to what the CA is doing: https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/hack/update-faq-flags.sh

Thanks for the reference! I can work on that.
We can merge this PR or close it whatever you decide is fine by me.

@adrianmoisey
Copy link
Member

An idea: Once the script it setup, we could get it to run via GitHub Actions and either fail a PR if it doesn't update the docs, or it could run as a cron job, and make a PR if the flags in the documentation is wrong

@voelzmo
Copy link
Contributor

voelzmo commented Jan 9, 2025

Yeah, we can probably just follow the pattern of make check-generate to check if a new call to make generate is necessary and fail PRs on this. Putting this responsibility on the PR author probably makes sense instead of just running it automatically.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/vertical-pod-autoscaler cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants