-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
KEP-1819: notes on the order of extenders #2132
KEP-1819: notes on the order of extenders #2132
Conversation
7b7dafd
to
95d7aac
Compare
/assign @ahg-g |
Multiple extenders can be configured and will be called sequentially in the | ||
scheduler framework. Like the scheduler framework running filter plugins, which | ||
will stop on the first filter that returns `Unschedulable` status, | ||
unschedulable nodes will be not be passed to subsequent extenders. Users are | ||
encouraged to carefully order extenders to have the extender which may report | ||
`UnschedulableAndUnresolvable` first. This can improve preemption latency. |
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.
This is a bit vague to me, I think we should separate the explanation of "extenders are running sequentially" and "semantics of failedAndUnresolvable" - the previous one was already known; while the latter one is new and should be emphasized. See kubernetes/kubernetes#92866 (comment).
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
I add a note about the order of multiple extenders in the "Configuration" section. The explanation of "semantics of failedAndUnresolvable" is moved to the "Interface > Filter" section, right after the spec of the ExtenderFilterResult
struct.
What do you think?
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.
Sounds better. Some comments below.
95d7aac
to
a7ce976
Compare
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 nits.
When multiple extenders are configured, unschedulable nodes will not be passed | ||
to subsequent extenders. This is like the scheduler framework running filter | ||
plugins, which stops on the first filter that reports unschedulable status. |
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.
These lines can be removed as extender used to work the same way.
When multiple extenders are configured, unschedulable nodes will not be passed | ||
to subsequent extenders. This is like the scheduler framework running filter | ||
plugins, which stops on the first filter that reports unschedulable status. | ||
Users are encouraged to carefully order extenders to have the extender which |
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.
It's recommended to order the extenders which may report UnschedulableAndUnresolvable
ahead of others. This can improve the preemption efficiency.
a7ce976
to
8f43f44
Compare
comments addressed, diff for quick review diff --git a/keps/sig-scheduling/1819-scheduler-extender/README.md b/keps/sig-scheduling/1819-scheduler-extender/README.md
index c8a85526..239081f3 100644
--- a/keps/sig-scheduling/1819-scheduler-extender/README.md
+++ b/keps/sig-scheduling/1819-scheduler-extender/README.md
@@ -241,11 +241,9 @@ unschedulable, except the nodes in the latter will be skipped in preemption
phase.
When multiple extenders are configured, unschedulable nodes will not be passed
-to subsequent extenders. This is like the scheduler framework running filter
-plugins, which stops on the first filter that reports unschedulable status.
-Users are encouraged to carefully order extenders to have the extender which
-may report `UnschedulableAndUnresolvable` first. This can improve preemption
-latency.
+to subsequent extenders. It's recommended to order the extenders which may
+report `UnschedulableAndUnresolvable` ahead of others. This can improve the
+preemption efficiency.
#### Prioritize
|
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.
a couple of nits
Co-authored-by: ahg-g <[email protected]>
430661a
to
78078f0
Compare
suggestions are applied, thanks! |
/lgtm leaving it to Wei to approve. |
/hold |
/approve Thanks @cofyc . |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: cofyc, Huang-Wei 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 |
see kubernetes/kubernetes#92866 (comment)