Kensei Nakada
fe3ab649d0
feat: remove node general update event from EventsToRegister when QHint is enabled
2024-09-14 16:15:40 +09:00
杨朱 · Kiki
bc3c07091b
Fix a bug where the target pod doesn't become schedulable within 5 minutes when a deleted pod uses the same PVC with the ReadWriteOncePod access mode. ( #126263 )
...
Co-authored-by: Kensei Nakada <handbomusic@gmail.com >
2024-07-22 01:20:34 -07:00
googs1025
a3978e8315
scheduler: Add ctx param and error return to EnqueueExtensions.EventsToRegister()
2024-07-18 12:22:17 +08:00
HirazawaUi
cd13be8654
Add QueueingHintFn for pvc events in VolumeRestriction plugin
2024-07-13 00:25:39 +08:00
HirazawaUi
f9693e0c0a
Implement QueueingHintFn for pod deleted event
2024-06-17 22:42:04 +08:00
Chris Henzie
2dbd405583
Graduate ReadWriteOncePod to GA
2023-10-20 10:40:39 -07:00
Mengjiao Liu
a7466f44e0
Change the scheduler plugins PluginFactory function to use context parameter to pass logger
...
- Migrated pkg/scheduler/framework/plugins/nodevolumelimits to use contextual logging
- Fix golangci-lint validation failed
- Check for plugins creation err
2023-09-20 17:49:54 +08:00
Kensei Nakada
6f8d38406a
feature(scheduler): implement ClusterEventWithHint to filter out useless events
2023-06-22 13:36:19 +00:00
Kubernetes Prow Robot
e77ca49022
Merge pull request #114898 from AxeZhan/volumerestrictions
...
feature(volume_restrictions): return Skip in PreFilter
2023-04-11 15:35:04 -07:00
kidddddddddddddddddddddd
8d644fbc72
return skip in volumerestrictions
2023-03-23 23:14:24 +08:00
mantuliu
edc0455c5c
Improve performance of method haveOverlap
...
Signed-off-by: mantuliu <240951888@qq.com >
2023-02-22 00:51:55 +08:00
mantuliu
e1e07e34e3
Improve performance of method haveOverlap
...
Signed-off-by: mantuliu <240951888@qq.com >
2023-02-21 16:50:10 +08:00
Chris Henzie
dbc7d8ded0
feat: support preemption for pods using ReadWriteOncePod PVCs
...
PVCs using the ReadWriteOncePod access mode can only be referenced by a
single pod. When a pod is scheduled that uses a ReadWriteOncePod PVC,
return "Unschedulable" if the PVC is already in-use in the cluster.
To support preemption, the "VolumeRestrictions" scheduler plugin
computes cycle state during the PreFilter phase. This cycle state
contains the number of references to the ReadWriteOncePod PVCs used by
the pod-to-be-scheduled.
During scheduler simulation (AddPod and RemovePod), we add and remove
reference counts from the cycle state if they use any of these
ReadWriteOncePod PVCs.
In the Filter phase, the scheduler checks if there are any PVC reference
conflicts, and returns "Unschedulable" if there is a conflict.
This is a required feature for the ReadWriteOncePod beta. See for more context:
https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/2485-read-write-once-pod-pv-access-mode#beta
2023-01-30 10:59:22 -08:00
Yibo Zhuang
6cfc9901ce
Remove parallel node processing in volumerestrictions
...
Leverage the usedPVCSet in snapshot to determine
whether a PVC with ReadWriteOncePod access mode is being
used by another scheduled pod to achieve O(1) look up in
PreFilter and avoid needing to parallel process all nodes.
Signed-off-by: Yibo Zhuang <yibzhuang@gmail.com >
2022-05-03 18:01:22 -07:00
Abdullah Gharaibeh
5b20b68bc9
Updated the scheduler framework's PreFilter interface to return a PreFilterResult
2022-03-14 15:36:52 -04:00
Abirdcfly
e35cfbb5a7
fix: some function should pass context parameter
...
Change-Id: Ib509573a72c8bd0c61233ade415fef470c61bf5f
2022-03-04 00:42:45 +08:00
sanposhiho
9dc0489c1a
Fix: move parallelize package to non-internal file
2021-10-21 02:39:23 +09:00
Chris Henzie
7ad44d04fc
Enforce ReadWriteOncePod access mode during scheduling
...
Check the PVC ref count on the node info cache to determine if a pod's
PVCs are in use. If they are and it is using ReadWriteOncePod, fail the
request.
2021-06-30 10:40:14 -07:00
Abdullah Gharaibeh
46f3e4dfdd
Define in-tree scheduler plugin names in separate pkg to break a cyclic depednecy when moving plugin defaulting to CC
2021-06-09 15:36:09 -04:00
whypro
641627980b
Implement EnqueueExtensions interface in volumerestrictions and volumezone.
2021-04-10 00:17:57 +08:00
Deepak Nair
49a9e28dd8
Substitute boolean maps with String sets
2021-02-18 20:59:32 -08:00
Ali
09b2e8f638
Move scheduler interface to pkg/scheduler/framework
2020-10-13 13:13:27 +11:00
Abdullah Gharaibeh
5e81a2de98
Optimize VolumeRestrictions scheduler plugin
2020-07-22 23:00:01 -04:00
Kubernetes Prow Robot
b35fdbc037
Merge pull request #89904 from alculquicondor/raw-extension-plugin-args
...
Use RawExtension and Object for external and internal, respectively, scheduling plugin args
2020-04-15 15:22:59 -07:00
Aldo Culquicondor
ce05382b58
Use RawExtension and Object for external and internal scheduling plugin args, respectively
...
Signed-off-by: Aldo Culquicondor <acondor@google.com >
2020-04-14 13:44:42 -04:00
Abdullah Gharaibeh
2c51c13620
Scheduler NodeInfo cleanup
2020-04-09 19:03:51 -04:00
Abdullah Gharaibeh
b8ddd00312
scheduler's NodeInfo tracks PodInfos instead of Pods
2020-04-08 17:53:20 -04:00
Abdullah Gharaibeh
a5d8172715
move nodeinfo type to framework pkg
2020-04-07 10:25:24 -04:00
Abdullah Gharaibeh
ed3fe054df
move scheduler nodeinfo to pkg/scheduler/types
2020-03-31 21:02:09 -04:00
Haosdent Huang
9bcca31e52
Break volumerestrictions Filter plugins dependency on predicates package
2020-01-06 02:59:47 +08:00
Wen Gao
e5d90c57f0
move NoDiskConflict predicate to its filter plugin
2019-12-25 15:44:59 +08:00
draveness
39af760930
feat: several cleanups in the scheduling package
...
+ Remove unused variable in tests.
+ Use more common statement for interface conformance check.
+ Fix several comments in the framework plugins.
2019-10-18 11:14:05 +08:00
draveness
47a6c5b693
feat(scheduler): use context in the scheduler package
...
+ Use context instead of stopCh
+ Add context to the scheduling framework interface
2019-10-17 09:03:55 +08:00
notpad
9e426a6be1
[migration phase 1] NoDiskConflict as filter plugin
2019-10-12 08:00:44 +08:00