Skip to content

Update MaxUnavailableStatefulSet feature gate to beta#133153

Merged
k8s-ci-robot merged 4 commits intokubernetes:masterfrom
helayoty:helayoty/enable-beta-maxUnavailable
Oct 16, 2025
Merged

Update MaxUnavailableStatefulSet feature gate to beta#133153
k8s-ci-robot merged 4 commits intokubernetes:masterfrom
helayoty:helayoty/enable-beta-maxUnavailable

Conversation

@helayoty
Copy link
Copy Markdown
Member

@helayoty helayoty commented Jul 23, 2025

What type of PR is this?

/kind feature
/sig apps
/triage accepted
/milestone v1.35

What this PR does / why we need it:

Add beta MaxUnavailableStatefulSet feature gate.

Which issue(s) this PR is related to:

KEP: kubernetes/enhancements#961

Does this PR introduce a user-facing change?

Yes

The MaxUnavailableStatefulSet feature is now beta and enabled by default.

Hold for:

@k8s-ci-robot
Copy link
Copy Markdown
Contributor

@helayoty: You must be a member of the kubernetes/milestone-maintainers GitHub team to set the milestone. If you believe you should be able to issue the /milestone command, please contact your Milestone Maintainers Team and have them propose you as an additional delegate for this responsibility.

Details

In response to this:

What type of PR is this?

/kind feature
/sig apps
/triage accepted
/milestone v1.34

What this PR does / why we need it:

Add beta MaxUnavailableStatefulSet feature gate.

Which issue(s) this PR is related to:

KEP: kubernetes/enhancements#961

Does this PR introduce a user-facing change?

Yes

TheMaxUnavailableStatefulSet feature is now beta and enabled by default.

Hod for:

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 release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. kind/feature Categorizes issue or PR as related to a new feature. sig/apps Categorizes an issue or PR as relevant to SIG Apps. labels Jul 23, 2025
@k8s-ci-robot k8s-ci-robot added the triage/accepted Indicates an issue or PR is ready to be actively worked on. label Jul 23, 2025
@github-project-automation github-project-automation Bot moved this to Needs Triage in SIG Apps Jul 23, 2025
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. labels Jul 23, 2025
@helayoty
Copy link
Copy Markdown
Member Author

/hold

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jul 23, 2025
@helayoty helayoty moved this from Needs Triage to Needs Review in SIG Apps Jul 23, 2025
@helayoty
Copy link
Copy Markdown
Member Author

/assign @janetkuo @soltysh @Edwinhr716

Copy link
Copy Markdown
Contributor

@soltysh soltysh left a comment

Choose a reason for hiding this comment

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

This is not sufficient change, we also need to change the following files:

  • // The maximum number of pods that can be unavailable during the update.
    // Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
    // Absolute number is calculated from percentage by rounding up. This can not be 0.
    // Defaults to 1. This field is alpha-level and is only honored by servers that enable the
    // MaxUnavailableStatefulSet feature. The field applies to all pods in the range 0 to
    // Replicas-1. That means if there is any unavailable pod in the range 0 to Replicas-1, it
    // will be counted towards MaxUnavailable.
    // +optional
    MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty" protobuf:"varint,2,opt,name=maxUnavailable"`
  • // The maximum number of pods that can be unavailable during the update.
    // Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
    // Absolute number is calculated from percentage by rounding up. This can not be 0.
    // Defaults to 1. This field is alpha-level and is only honored by servers that enable the
    // MaxUnavailableStatefulSet feature. The field applies to all pods in the range 0 to
    // Replicas-1. That means if there is any unavailable pod in the range 0 to Replicas-1, it
    // will be counted towards MaxUnavailable.
    // +optional
    MaxUnavailable *intstr.IntOrString
  • and all the generated files that come with the above API changes

updating the description of the field with beta designation, as well as add // +featureGate=MaxUnavailableStatefulSet below optional tag, to follow the current standards.

@github-project-automation github-project-automation Bot moved this from Needs Review to In Progress in SIG Apps Jul 25, 2025
@soltysh
Copy link
Copy Markdown
Contributor

soltysh commented Jul 25, 2025

/priority important-longterm

@k8s-ci-robot k8s-ci-robot added priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. and removed needs-priority Indicates a PR lacks a `priority/foo` label and requires one. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Jul 25, 2025
@linux-foundation-easycla
Copy link
Copy Markdown

linux-foundation-easycla Bot commented Jul 26, 2025

CLA Signed

The committers listed above are authorized under a signed CLA.

@k8s-ci-robot k8s-ci-robot added cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. and removed cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Jul 26, 2025
@helayoty
Copy link
Copy Markdown
Member Author

/test pull-kubernetes-e2e-kind-alpha-beta-features

@helayoty
Copy link
Copy Markdown
Member Author

/test pull-kubernetes-unit

@helayoty
Copy link
Copy Markdown
Member Author

/test pull-kubernetes-integration

Copy link
Copy Markdown
Contributor

@soltysh soltysh left a comment

Choose a reason for hiding this comment

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

One more nit for the field doc.

Comment thread pkg/apis/apps/types.go
Comment thread pkg/apis/apps/types.go Outdated
@soltysh
Copy link
Copy Markdown
Contributor

soltysh commented Sep 24, 2025

/hold cancel

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 24, 2025
@soltysh soltysh moved this from Backlog to Changes requested in API Reviews Sep 24, 2025
@helayoty helayoty force-pushed the helayoty/enable-beta-maxUnavailable branch from 5ca77ad to 83163d0 Compare September 29, 2025 21:02
Signed-off-by: Heba Elayoty <[email protected]>
@helayoty helayoty force-pushed the helayoty/enable-beta-maxUnavailable branch from d306e94 to fe681cf Compare September 29, 2025 21:31
@helayoty helayoty requested a review from soltysh September 29, 2025 21:31
@helayoty
Copy link
Copy Markdown
Member Author

/test pull-kubernetes-unit

Copy link
Copy Markdown
Contributor

@soltysh soltysh left a comment

Choose a reason for hiding this comment

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

/lgtm
/approve
both as api-shadow and sig-apps lead

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

LGTM label has been added.

DetailsGit tree hash: 82146fb499258186abe081a5c9d1ede8b581e545

@soltysh soltysh moved this from Changes requested to In progress in API Reviews Oct 9, 2025
@thockin
Copy link
Copy Markdown
Member

thockin commented Oct 16, 2025

/approve

@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: helayoty, soltysh, thockin

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 Oct 16, 2025
@helayoty helayoty requested a review from soltysh October 16, 2025 18:09
@helayoty helayoty moved this from In Progress to Needs Approval in SIG Apps Oct 16, 2025
@k8s-ci-robot k8s-ci-robot merged commit 7af016e into kubernetes:master Oct 16, 2025
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api-review Categorizes an issue or PR as actively needing an API review. approved Indicates a PR has been approved by an approver from all required OWNERS files. area/code-generation cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API kind/feature Categorizes issue or PR as related to a new feature. lgtm "Looks good to me", indicates that a PR is ready to be merged. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. release-note Denotes a PR that will be considered when it comes time to generate release notes. sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. sig/apps Categorizes an issue or PR as relevant to SIG Apps. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. triage/accepted Indicates an issue or PR is ready to be actively worked on.

Projects

Status: API review completed, 1.35
Archived in project

Development

Successfully merging this pull request may close these issues.

7 participants