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
Fix, deprecate apiserver_flowcontrol_request_concurrency_limit #118959
Conversation
@MikeSpreitzer: GitHub didn't allow me to request PR reviews from the following users: JohnRusk. Note that only kubernetes members and repo collaborators can review this PR, and authors cannot review their own PRs. 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. |
/uncc @yue9944882 |
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.
Nice
+1 for removing this metric, but I'm not sure if we don't officially deprecate metrics first. /assign @dgrisonnet |
/triage accepted |
I do not see a formal stability level for deprecation. |
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.
/hold
(on-going discussion in #118882)
@andrewsykim : is there a reason to hold this one? The equivalent metric |
9a834aa
to
5205cba
Compare
The force-push to 5205cba18b4 is a rebase plus the changes suggested in review above. |
/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.
/lgtm
LGTM label has been added. Git tree hash: 9180ff9cc8b081aa827422e24cea92510c2428d2
|
The Kubernetes project has merge-blocking tests that are currently too flaky to consistently pass. This bot retests PRs for certain kubernetes repos according to the following rules:
You can:
/retest |
Subsystem: subsystem, | ||
Name: "request_concurrency_in_use", | ||
Help: "Concurrency (number of seats) occupied by the currently executing (initial stage for a WATCH, any stage otherwise) requests in the API Priority and Fairness subsystem", | ||
// Remove this metric once all suppported releases have the equal current_executing_seats metric |
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.
Similarly here
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.
The equal metric current_executing_seats is being introduced in release 1.28, and that will be the oldest supported release when 1.31 is the latest release, so I am setting the deprecated version to 1.31 here.
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.
If we're following what we did for nominal_seats_limit, this should actually be 1.32 (4 releases from 1.28) since nominal_seats_limit was introduced in 1.26.
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.
We can fix in a follow-up though since this is a deprecation in a future version. I would be in favor of doing the deprecation on the same versions too, so maybe move both of them up to 1.32 or backport current_executing_seats to older versions and keep them both at 1.30?
/hold |
Because it is redundant and has a bad name and its HELP string was outdated. Also note intended retention period for request_concurrency_in_use. Signed-off-by: Mike Spreitzer <mspreitz@us.ibm.com>
5205cba
to
75186b1
Compare
Name: "request_concurrency_limit", | ||
Help: "Nominal number of execution seats configured for each priority level", | ||
// Remove this metric once all suppported releases have the equal nominal_limit_seats metric | ||
DeprecatedVersion: "1.30.0", |
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.
Why do you have 1.30 here (with 1.31 for the metric below)?
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.
That is explained in my other comments in this PR.
Since both metrics have replacements that just graduated to Beta with #119110, I would actually be fine with just straight up removing them without requiring a deprecation period as per https://github.com/kubernetes/enhancements/tree/master/keps/sig-instrumentation/3498-extending-stability#alpha-metrics. I used to ask for a deprecation period on Alpha metrics because we didn't have a Beta stability class in place which could have broken the expectations of the users, but now that we have finer grained classes starting from 1.28, renaming an Alpha metric to be eligible for Beta criterias is normal and expected so it shouldn't require deprecation. |
@dgrisonnet: the alpha metrics have established usage, despite being formally alpha. So we decided that for the sake of users of the old alpha metrics we will keep them available by default until the replacements are available in all supported releases. |
That approach is fine by me, I just wanted to mention that if you wanted you could also skip the deprecation period. /lgtm |
LGTM label has been added. Git tree hash: 69171ef756123295d5c4349bf6e2bd88370c2e7b
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: dgrisonnet, JohnRusk, MikeSpreitzer 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 |
/hold cancel (#118959 (comment) now addressed) |
What type of PR is this?
/kind cleanup
What this PR does / why we need it:
This PR deprecates the
apiserver_flowcontrol_request_concurrency_limit
metric, which rotted as we generalized request width and introduced borrowing. It is a duplicate of another metric with a better name and HELP string,apiserver_flowcontrol_nominal_limit_seats
. This PR also copies that better HELP string into theapiserver_flowcontrol_request_concurrency_limit
metric.Which issue(s) this PR fixes:
Fixes #118957
Special notes for your reviewer:
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: