-
Notifications
You must be signed in to change notification settings - Fork 40.1k
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(cpumanager): Do not release CPUs of init containers while they are being reused in app containers #104837
fix(cpumanager): Do not release CPUs of init containers while they are being reused in app containers #104837
Conversation
Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA. It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.
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. I understand the commands that are listed here. |
Welcome @eggiter! |
Hi @eggiter. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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. |
I signed it. |
This comment has been minimized.
This comment has been minimized.
1609cb7
to
c2310ed
Compare
/ok-to-test |
func (p *staticPolicy) RemoveContainer(s state.State, podUID string, containerName string) error { | ||
klog.InfoS("Static policy: RemoveContainer", "podUID", podUID, "containerName", containerName) | ||
cpusInUsing := getAssignedCPUsOfSiblings(s, podUID, containerName) |
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.
nit: cpusInUse ?
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.
updated, thanks.
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
/triage accepted |
/priority important-soon BTW, should it be cherry-picked to 1.19-1.22 once merged? |
Thanks for this PR! does it fix a problem actually observed on some cluster or is it a robustness fix? |
|
Thanks. The only missing piece is if there is a kubernetes flow (GC is a good example) that triggers this bug without explicit manual action. The problem with manual action is that it's easy to void some key assumptions of the code, and in that case a fix is not warranted: in normal circumstances, the issue won't trigger. |
Sure. |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
/remove-lifecycle stale |
This is a very weird edge case and can only be triggered if someone manually terminates a container using some mechanism external to kubernetes. I'm fine to include this change since it is fairly small and well contained, but as @fromanirh mentions in #104837 (comment) one should always be wary of what could happen when triggering container lifecycle events outside of the standard kubernetes mechanisms. |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: eggiter, klueska, matthyx 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 |
What type of PR is this?
/kind bug
What this PR does / why we need it:
Special notes for your reviewer:
Does this PR introduce a user-facing change?