Skip to content

Add graduation criteria for CapacityBuffers.#8886

Merged
k8s-ci-robot merged 1 commit intokubernetes:masterfrom
jbtk:buffers-beta
Dec 18, 2025
Merged

Add graduation criteria for CapacityBuffers.#8886
k8s-ci-robot merged 1 commit intokubernetes:masterfrom
jbtk:buffers-beta

Conversation

@jbtk
Copy link
Copy Markdown
Member

@jbtk jbtk commented Dec 4, 2025

What type of PR is this?

/kind documentation

What this PR does / why we need it:

Add graduation criteria for CapacityBuffers.

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.:


@k8s-ci-robot k8s-ci-robot added release-note-none Denotes a PR that doesn't merit a release note. kind/documentation Categorizes issue or PR as related to documentation. do-not-merge/needs-area cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Dec 4, 2025
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

Hi @jbtk. Thanks for your PR.

I'm waiting for a github.com member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

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-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Dec 4, 2025
@jbtk
Copy link
Copy Markdown
Member Author

jbtk commented Dec 4, 2025

@ellistarn @towca

As we talked I would like to graduate the CapacityBuffers to beta soon. To ensure that there is clarity about the graduation criteria I am adding a "timeline" to the CapacityBuffers proposal.


- [ ] E2e test healthy
- [ ] In beta for at least 1 full version
- [ ] Available in at least 1 cloud provider for 3 months
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this isn't broad enough to cover the usecases. Given that this API is a general autoscaling api, more than 1 autoscaler should have support for a couple months before we can graduate. At the minimum 1-2 OSS autoscalers like CAS or Karpenter should support the api.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that there is already 1 OSS implementation in CA OSS which was part of the alpha scope.

@jbtk
Copy link
Copy Markdown
Member Author

jbtk commented Dec 11, 2025

After some discussion on Slack with @ellistarn and other karpenter maintainers I am changing my proposal to include waiting for karpenter implementation up to some number of versions (to be discussed how many are needed).

@jbtk
Copy link
Copy Markdown
Member Author

jbtk commented Dec 11, 2025

Removed e2e test implementation from beta graduation as all of the e2e tests are failing and I do not want to put fixing them on the path to beta. V1 should not happen without e2e tests and there should be enough time to fix them.


- [ ] E2e test implemented and healthy
- [ ] In beta for at least 1 full version
- [ ] Waiting up to 2 versions in beta for second OSS implementation
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So you'd target 1.37. While I fully expect us to come to a decision before then, I'd hope we could have a conversation rather than falling back to lazy consensus.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is what I was trying to write with "we will reevaluate the graduation criteria with sig-autoscaling leads based on...immediate future plans". So this is not a lazy consensus but a converations with sig-leads. Please let me know what is not clear.

- [x] Implement the API definition
- [x] Implement the buffer controller and fake pod processing logic in the cluster autoscaler

## Beta graduation criteria (planned for 1.35)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't 1.35 more or less closed at this point? I thought it was launching very soon.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The cluster autoscaler does not do freezes like core kubernetes and releases some time after core kubernetes. I would say there is still a chance (and we will try to do this), but I am not confident that we will make it.

@jbtk
Copy link
Copy Markdown
Member Author

jbtk commented Dec 17, 2025

After offline discussion changed the wording to 1.37 (inclusive) so the wording is clear. Please reapprove.

Copy link
Copy Markdown
Contributor

@ellistarn ellistarn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good -- thanks for defining this.

@towca
Copy link
Copy Markdown
Collaborator

towca commented Dec 18, 2025

Looks good to me as well!

/lgtm
/approve

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

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: DerekFrank, ellistarn, jbtk, towca

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

The pull request process is described here

Details 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 approved Indicates a PR has been approved by an approver from all required OWNERS files. label Dec 18, 2025
@k8s-ci-robot k8s-ci-robot merged commit 20124ee into kubernetes:master Dec 18, 2025
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. area/cluster-autoscaler cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/documentation Categorizes issue or PR as related to documentation. lgtm "Looks good to me", indicates that a PR is ready to be merged. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. release-note-none Denotes a PR that doesn't merit a release note. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants