(TopologySpread) Evict pods with selectors that match multiple nodes#525
Merged
k8s-ci-robot merged 1 commit intokubernetes-sigs:masterfrom Mar 14, 2021
Merged
Conversation
damemi
commented
Mar 11, 2021
uthark
approved these changes
Mar 11, 2021
Contributor
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: damemi, uthark 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 |
ingvagabund
reviewed
Mar 12, 2021
| // however we still account for it "being evicted" so the algorithm can complete | ||
| // TODO(@damemi): Since we don't order pods wrt their affinities, we should refactor this to skip the current pod | ||
| // but still try to get the required # of movePods (instead of just chopping that value off the slice above) | ||
| if aboveToEvict[k].Spec.NodeSelector != nil || |
Contributor
There was a problem hiding this comment.
Can you break the changes into two steps (in the same commit)?
- create
isRequiredDuringSchedulingIgnoredDuringExecution = aboveToEvict[k].Spec.Affinity != nil && aboveToEvict[k].Spec.Affinity.NodeAffinity != nil && aboveToEvict[k].Spec.Affinity.NodeAffinity.RequiredDuringSchedulingIgnoredDuringExecution != nilvariable so it's easier to read the condition - fix the bug
In which case the change will look like:
aboveToEvict[k].Spec.NodeSelector != nil ||
(
isRequiredDuringSchedulingIgnoredDuringExecution &&
nodesPodFitsOnBesidesCurrent(aboveToEvict[k], nodeMap) == 0
)-->
(
aboveToEvict[k].Spec.NodeSelector != nil || isRequiredDuringSchedulingIgnoredDuringExecution
) &&
nodesPodFitsOnBesidesCurrent(aboveToEvict[k], nodeMap) == 0After which it's clear why the change is required.
ingvagabund
requested changes
Mar 12, 2021
Contributor
ingvagabund
left a comment
There was a problem hiding this comment.
Small change to improve the readability
4da1862 to
af26b57
Compare
Member
Author
|
Thanks @ingvagabund, updated |
Contributor
|
/lgtm |
briend
pushed a commit
to briend/descheduler
that referenced
this pull request
Feb 11, 2022
…lector-fix (TopologySpread) Evict pods with selectors that match multiple nodes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #524