-
Notifications
You must be signed in to change notification settings - Fork 40.9k
DNM: feat: Add MutablePodResourcesForSuspendedJobs feature gate #132441
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
base: master
Are you sure you want to change the base?
Conversation
Adding the "do-not-merge/release-note-label-needed" label because no release-note block was detected, please follow our release note process to remove it. 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. |
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the The 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. |
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.
Some of this validation could go into a highly recommended ValidatingAdmissionPolicy.
For example: we could say that shrinking limits and requests for a template is always OK, but restrict resizes that enlarge them.
💭 What would the authz look like for template changes?
Maybe. But right now, we are forbidding any resizing. So we could relax it in-tree and then leave it to people to implement their own VAP? But that could lead to nobody implement this and then its free reign. So I'm not sure what is best here. |
ffc331b
to
add236c
Compare
// kep: TBD | ||
// | ||
// Enables mutable pod resources for Jobs when the job is suspended. | ||
MutableJobPodResourcesForSuspendedJobs featuregate.Feature = "MutableJobPodResourcesForSuspendedJobs" |
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
I don't recall a KEP describing this, so putting here on hold, until there's a clear decision about the path forward.
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.
Yea, I am hoping to discuss with sig-apps and maybe have this for 1.35.
- Add feature gate to control mutable pod resources for suspended jobs - Implement validatePodResourceUpdatesOnly function to allow only container resource updates - Update strategy validation to check feature gate and job state (suspended + not started) - Add comprehensive unit tests for feature gate functionality - Ensure backward compatibility when feature gate is disabled This enables users to update container resources on suspended jobs that haven't started yet, while maintaining immutability for all other pod template fields. update feature gates
add236c
to
f49bc5f
Compare
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: kannon92 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 |
@kannon92: The following tests failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. 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. I understand the commands that are listed here. |
This enables users to update container resources on suspended jobs that haven't started yet, while maintaining immutability for all other pod template fields.
What type of PR is this?
/kind feature
What this PR does / why we need it:
Which issue(s) this PR is related to:
Special notes for your reviewer:
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: