KEP-4671: Implement Gang scheduling in kube-scheduler#134722
KEP-4671: Implement Gang scheduling in kube-scheduler#134722k8s-ci-robot merged 4 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. |
|
/hold |
|
|
||
| // deletePod completely deletes the pod from this group. | ||
| // It returns true when the group is empty after removal. | ||
| func (pgs *podGroupInfo) deletePod(podUID types.UID) bool { |
There was a problem hiding this comment.
The intuitive interpretation of the return value is whether a pod got deleted or not. If anything I'd suggest to return two values. One for the actual deletion (always true in this case, can change in the future?) and the other as a check of whether a group is empty. Or, how much more expensive would it be to create a new function for "isEmpty" check?
| logger.V(3).Info("Add event for unscheduled pod", "pod", klog.KObj(pod)) | ||
| sched.SchedulingQueue.Add(logger, pod) | ||
| if utilfeature.DefaultFeatureGate.Enabled(features.GangScheduling) { | ||
| sched.SchedulingQueue.MoveAllToActiveOrBackoffQueue(logger, framework.EventUnscheduledPodAdd, nil, pod, nil) |
There was a problem hiding this comment.
+1 for a mechanism that will avoid putting irrelevant pods into the queue
3802f5b to
9f9ff21
Compare
|
/test pull-kubernetes-integration |
| {Event: fwk.ClusterEvent{Resource: fwk.StorageClass, ActionType: fwk.All}}, | ||
| {Event: fwk.ClusterEvent{Resource: fwk.ResourceClaim, ActionType: fwk.All}}, | ||
| {Event: fwk.ClusterEvent{Resource: fwk.DeviceClass, ActionType: fwk.All}}, | ||
| {Event: fwk.ClusterEvent{Resource: fwk.Workload, ActionType: fwk.All}}, |
There was a problem hiding this comment.
register it only if the gate is enabled?
9f9ff21 to
525ca9c
Compare
|
LGTM label has been added. DetailsGit tree hash: 18e3fbeb2d8866222f5234175b70e75d16899f50 |
|
@macsko: 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. 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. I understand the commands that are listed here. |
|
/lgtm |
|
LGTM label has been added. DetailsGit tree hash: a6e5193895a298c8cce734359287f61dc06ae321 |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: macsko, sanposhiho, wojtek-t 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 |
|
/hold cancel |
|
This PR may require API review. If so, when the changes are ready, complete the pre-review checklist and request an API review. Status of requested reviews is tracked in the API Review project. |
|
Congrats Maciek, great job on Gang and Workload API! |
What type of PR is this?
/kind feature
What this PR does / why we need it:
This PR adds gang scheduling plugin and basic workload awareness (using dedicated manager) to kube-scheduler based on KEP-4671. This is a second PR for this KEP. First one, with the API, is #134564.
Which issue(s) this PR is related to:
Part of #134471
Fixes #134475
Fixes #134476
Fixes #134477
KEP: kubernetes/enhancements#4671
Special notes for your reviewer:
This PR is dedicated for kube-scheduler changes. For API review, please post the comments in #134564. Six first commits are part of #134564, so please filter changes of this PR appropriately.
This PR may be merged with the #134564 depending on review efficiency.
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: