[PodLevelResources] handle pod-level resource manager alignment#133279
[PodLevelResources] handle pod-level resource manager alignment#133279k8s-ci-robot merged 6 commits intokubernetes:masterfrom
Conversation
|
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 DetailsInstructions 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. |
|
/sig node |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ffromani The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
This reverts commit 7804b51.
|
/test pull-kubernetes-node-kubelet-serial-podlevelresources |
|
TL;DR: right now I don't recall which other kube component is involved in the |
When pod-level resources are detected, the cpu and memory manages cannot engage because the feature is not yet compatible, one of the main reasons being the managers only work at container level. So, the managers has to detect if pod level resources are in use, and turn themselves to no-operation skipping resource allocation should that be the case. We add an intentional loud log to inform the user, because pods with pod-level resources landing on a node which cannot actuate the desired spec is likely to be undesirable. Signed-off-by: Francesco Romani <[email protected]>
Signed-off-by: Francesco Romani <[email protected]>
a1926bd to
a3a767b
Compare
|
removed the WIP from the core commit fixing the logic. IMO is ready and as good as I can make it. The pending thing is fixing the e2e tests as discussed activating correctly and fully the FGs. @ndixita I have to leave now, feel free to pick my commit in your PR and move on from there. |
|
/test pull-kubernetes-node-kubelet-serial-podlevelresources |
|
/test pull-kubernetes-node-kubelet-serial-cpu-manager |
|
/test pull-kubernetes-e2e-gce |
|
/sig node |
|
/lgtm |
|
LGTM label has been added. DetailsGit tree hash: 5269177f645210309af97c6304dc7cad08142c9a |
|
/retitle [PodLevelResources] handle pod-level resource manager alignment |
@ffromani I have dropped the details on slack chat. The tests were failing because of job configuration not having PodLevelResources enabled. Everything else looks good. Thank you |
|
/lgtm |
What type of PR is this?
/kind feature
What this PR does / why we need it:
This PR makes the cpu and memory manager ignore with a loud log pods which are candidate for exclusive resource allocation, but which also include pod-level resources.
These pods aren't supported by the cpu and memory manager so we either make admission fail or we force them to not be eligible for exclusive resource allocation.
According to the conversation in the KEP, this PR implements the latter approach (see this thread: kubernetes/enhancements#5362 (comment))
This PR also reuses parts of #132634 (with proper authorship attribution):
Unit tests for no hints nor aligment of CPU and Memory
E2E tests for no hints nor aligment of CPU and Memory managers
Which issue(s) this PR is related to:
Fixes: #132445
Special notes for your reviewer:
I'm reverting one of @KevinTMtz to preserve the initial work as closely as possible so my PR is purely additive to that work
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: