Commit Graph

3307 Commits

Author SHA1 Message Date
Aleksandra Malinowska
dd1e617ba0
Scheduler first fit (#123384)
* Don't evaluate extra nodes if there's no score plugin defined

* Fix existing unit test (add no op scoring plugin)

* Add unit tests for no score plugin scenario

* address review comments

* add a test with non-filter, non-scoring extender
2024-02-26 11:07:19 -08:00
Kubernetes Prow Robot
aed1f50965
Merge pull request #122629 from sanposhiho/ignore-non-
fix(scheduling queue): ignore events that interest no registered plugin
2024-02-25 10:03:21 -08:00
Kensei Nakada
18ba3b388e fix(scheduling queue): ignore events that interest no registered plugin 2024-02-24 06:42:19 +00:00
Kubernetes Prow Robot
2016fab308
Merge pull request #123382 from kerthcet/cleanup/add-testcase-for-defaults
Add testcase covering unknown plugin config in scheduler
2024-02-19 21:04:24 -08:00
kerthcet
3c9c141d98 exchange the order of comparators
Signed-off-by: kerthcet <kerthcet@gmail.com>
2024-02-19 20:46:36 +08:00
kerthcet
7b108d8ee1 Add testcase covering unknown plugin config
Signed-off-by: kerthcet <kerthcet@gmail.com>
2024-02-19 20:45:48 +08:00
kerthcet
b3ba6bda2b Add missed clusterEvents to UnrollWildCardResource
Signed-off-by: kerthcet <kerthcet@gmail.com>
2024-02-19 11:55:50 +08:00
AxeZhan
630ff96f9d Revert "Scheduler first fit" 2024-02-14 20:43:59 +08:00
Kubernetes Prow Robot
ad19beaa83
Merge pull request #123117 from kerthcet/fix/wild-resource
Fix registered wildcard clusterEvents doesn't work in scheduler requeueing
2024-02-09 10:34:15 -08:00
Kubernetes Prow Robot
e566bd7769
Merge pull request #121952 from sanposhiho/optimize-csi
add(nodevolumelimits): return UnschedulableAndUnresolvable when PVC is not found
2024-02-06 07:16:28 -08:00
kerthcet
f97dec2840 Add comments about wildcard clusterEvent
Signed-off-by: kerthcet <kerthcet@gmail.com>
2024-02-05 11:46:59 +08:00
kerthcet
d81023db30 When matching clusterEvent, we should consider the "*" additionally
Signed-off-by: kerthcet <kerthcet@gmail.com>
2024-02-04 14:59:26 +08:00
Toru Komatsu
3a4c35cc89
Comment on QHint for CSILimit when CSINodes are added (#122758)
Signed-off-by: utam0k <k0ma@utam0k.jp>
2024-02-02 22:16:20 -08:00
Kubernetes Prow Robot
278ea691e0
Merge pull request #122946 from NoicFank/enhance-sheduler-waiting-pods
enhancement(scheduler): share waitingPods among profiles
2024-02-02 02:11:32 -08:00
NoicFank
227c1915db enhancement(scheduler): share waitingPods among profiles 2024-02-01 10:06:23 +08:00
Aldo Culquicondor
b8c19dd1d2 Fix deprecated version for pod_scheduling_duration_seconds
Change-Id: Ia0ad9381057a4a1a4a4490861a0d7c1a7ba800cb
2024-01-30 23:41:49 +00:00
Kubernetes Prow Robot
eb0fcf9e21
Merge pull request #123007 from sanposhiho/correct-doc
fix(scheduler/metrics) correct the documentation on `plugin_evaluation_total`
2024-01-28 20:36:01 -08:00
Kensei Nakada
a62579a5eb fix(scheduler/metrics) correct the documentation on plugin_evaluation_total 2024-01-28 02:59:17 +00:00
Kubernetes Prow Robot
c606448922
Merge pull request #122996 from Huang-Wei/cleanup-dra-postfilter
DRA: always returns Unschedulable in PostFilter
2024-01-27 08:19:44 -08:00
Kubernetes Prow Robot
02aaad0de9
Merge pull request #121876 from pohly/dra-reserve-during-pod-binding
dra: reserve + publish during pod binding
2024-01-26 19:58:01 +01:00
Wei Huang
ceabc4aba8
DRA: always returns Unschedulable in PostFilter 2024-01-26 09:44:00 -08:00
Patrick Ohly
6cf4203751 dra scheduler: reformat code
By continuing with the next item in the if clause, the else is no longer needed
and indention can be reduced.
2024-01-26 10:58:03 +01:00
Patrick Ohly
a809a6353b scheduler: publish PodSchedulingContext during PreBind
Blocking API calls during a scheduling cycle like the DRA plugin is doing slow
down overall scheduling, i.e. also affecting pods which don't use DRA.

It is easy to move the blocking calls into a goroutine while the scheduling
cycle ends with "pod unschedulable". The hard part is handling an error when
those API calls then fail in the background. There is a solution for that
(see https://github.com/kubernetes/kubernetes/pull/120963), but it's complex.

Instead, publishing the modified PodSchedulingContext can also be done
later. In the more common case of a pod which is ready for binding except for
its claims, that'll be in PreBind, which runs in a separate goroutine already.

In the less common case that a pod cannot be scheduled, that'll be in
Unreserve which is still blocking.
2024-01-26 10:58:03 +01:00
Patrick Ohly
5d1509126f dra: patch ReservedFor during PreBind
This moves adding a pod to ReservedFor out of the main scheduling cycle into
PreBind. There it is done concurrently in different goroutines. For claims
which were specifically allocated for a pod (the most common case), that
usually makes no difference because the claim is already reserved.

It starts to matter when that pod then cannot be scheduled for other reasons,
because then the claim gets unreserved to allow deallocating it. It also
matters for claims that are created separately and then get used multiple times
by different pods.

Because multiple pods might get added to the same claim rapidly independently
from each other, it makes sense to do all claim status updates via patching:
then it is no longer necessary to have an up-to-date copy of the claim because
the patch operation will succeed if (and only if) the patched claim is valid.

Server-side-apply cannot be used for this because a client always has to send
the full list of all entries that it wants to be set, i.e. it cannot add one
entry unless it knows the full list.
2024-01-26 10:58:03 +01:00
Kubernetes Prow Robot
6c493a1ef9
Merge pull request #122969 from kerthcet/fix/claim
[DRA] Fix indexing the error value in unavailableClaim
2024-01-25 17:34:11 +01:00
kerthcet
7801173f6e get the error claim in dra
Signed-off-by: kerthcet <kerthcet@gmail.com>
2024-01-25 23:22:50 +08:00
kerthcet
8371e4cf93 quick break when met
Signed-off-by: kerthcet <kerthcet@gmail.com>
2024-01-23 19:40:15 +08:00
Kubernetes Prow Robot
7c0c4fb104
Merge pull request #122876 from danwinship/dead-scheduler-config
Remove some dead options in KubeSchedulerConfiguration
2024-01-22 15:05:30 +01:00
Dan Winship
ed289f875e Remove some dead options in KubeSchedulerConfiguration
The v1beta1 API had MetricsBindAddress and HealthzBindAddress fields
but they were removed in v1, and then never got removed from the
unversioned type when the v1beta1 API went away.
2024-01-19 13:47:23 -05:00
Kubernetes Prow Robot
c6887b1c00
Merge pull request #117803 from sourcelliu/preFilterState
Optimize the performance of the Clone method of preFilterState
2024-01-19 10:57:20 +01:00
Kubernetes Prow Robot
f38ff3feea
Merge pull request #121716 from kerthcet/cleanup/add-log
Add more logs to scheduler event handler
2024-01-15 16:23:19 +01:00
amewayne
71c3593f85 support nodeAnnotationsChanged event to trigger rescheduling 2024-01-10 22:38:54 +08:00
Kubernetes Prow Robot
fc691e8ffd
Merge pull request #122476 from kerthcet/feat/support-annotation
Support annotation in nodewrapper
2024-01-10 14:05:58 +01:00
Kubernetes Prow Robot
c74cd5fec4
Merge pull request #122524 from AxeZhan/testPQupdate
[Scheduler] refactor TestPriorityQueue_Update
2024-01-10 02:46:59 +01:00
Kubernetes Prow Robot
919d4624a0
Merge pull request #122503 from sunbinnnnn/scheduler-extender-support-ignore-bind
Support ignore scheduler extender error when binding
2024-01-08 17:30:44 +01:00
Kubernetes Prow Robot
5b979a3a53
Merge pull request #122498 from Gekko0114/close
Allow framework plugins to be closed
2024-01-08 17:30:36 +01:00
Neil Sun
87816ffb2c Support ignore scheduler extender error when binding
Signed-off-by: sunbinnnnn <sunbinnnnn@hotmail.com>
2024-01-08 21:06:25 +08:00
Kubernetes Prow Robot
b529e6ff1c
Merge pull request #122622 from nayihz/cleanup_comment
swap originalPod and modifiedPod to match the comments
2024-01-06 14:20:50 +01:00
nayihz
edff1c3b2f swap originalPod and modifiedPod to match the comments. 2024-01-06 19:07:18 +08:00
AxeZhan
801afbf888 refactor TestPriorityQueue_Update 2024-01-06 16:53:05 +08:00
moriya
288c00c0c7 Allow framework plugins to be closed 2024-01-06 10:11:19 +09:00
Kensei Nakada
09abd6be5a address reviews 2024-01-02 02:10:41 +00:00
Kensei Nakada
5ab2317947 run all PreFilter when the preemption will happen later in the same scheduling cycle 2024-01-01 09:44:06 +00:00
Kubernetes Prow Robot
3be9a8cc73
Merge pull request #122351 from sanposhiho/doc-update-for-add
doc: make it clear that how newly scheduled Pods are interpreted in cluster events
2023-12-31 08:04:43 +01:00
Kensei Nakada
e1e035e3a8 doc: make it clear that newly scheduled Pods are Pod/Add events 2023-12-31 05:58:12 +00:00
Kensei Nakada
bf1b3a161b add(nodevolumelimits): return UnschedulableAndUnresolvable when PVC is not found 2023-12-30 23:00:56 +00:00
Kubernetes Prow Robot
afa3f114d6
Merge pull request #117024 from sanposhiho/nodeaffinity-pre-score-skip
feature(NodeAffinity): return Skip in PreScore when nothing to do in Score
2023-12-27 16:53:51 +01:00
Kubernetes Prow Robot
e2a6ce713c
Merge pull request #122415 from pohly/dra-scheduler-deallocation-fix
dra scheduler: fix incorrect tracking of claim candidates for reallocation
2023-12-25 10:45:00 +01:00
kerthcet
bd269e06ba feat: support annotation in nodewrapper
Signed-off-by: kerthcet <kerthcet@gmail.com>
2023-12-25 16:34:10 +08:00
Kensei Nakada
041efcd1d4 scheduler: update an old comment 2023-12-22 02:01:13 +00:00