Ania Borowiec
fadb40199f
Move interfaces: Handle and Plugin and related types from kubernetes/kubernetes to staging repo kube-scheduler
2025-09-02 09:42:53 +00:00
Ania Borowiec
aecd37e6fb
Moving Scheduler interfaces to staging: Move PodInfo and NodeInfo interfaces (together with related types) to staging repo, leaving internal implementation in kubernetes/kubernetes/pkg/scheduler
2025-07-24 12:10:58 +00:00
Ania Borowiec
ee8c265d35
Move Code and Status from pkg/scheduler/framework to k8s.io/kube-scheduler/framework
2025-06-30 10:06:22 +00:00
Ania Borowiec
00d3750503
Move ClusterEvent type to staging repo, leaving some functions (that contain logic internal to scheduler) in kubernetes/kubernetes ( #132190 )
...
* Move ClusterEvent type to staging repo, leaving some functions (that contain logic internal to scheduler) in kubernetes/kubernetes
apply review comment and fix linter warning
* update-vendor.sh
* update doc comments
* run update-vendor.sh
2025-06-26 08:06:29 -07:00
Ania Borowiec
d75af825fb
Extract interface CycleState and move is to staging repo. CycleState implementation remains in k/k/pkg/scheduler/framework
2025-05-29 16:18:36 +00:00
Kubernetes Prow Robot
8a6b916765
Merge pull request #130720 from saintube/scheduler-expose-nodeinfo-in-prefilter
...
Expose NodeInfo to PreFilter plugins
2025-04-23 13:31:29 -07:00
saintube
8dc6806d26
Expose NodeInfo to PreFilter plugins and Framework
...
Co-authored-by: Zhan Sheng <49895476+AxeZhan@users.noreply.github.com >
Co-authored-by: shenxin <rougang.hrg@alibaba-inc.com >
Signed-off-by: saintube <saintube@foxmail.com >
2025-03-21 14:55:25 +08:00
Ismail Alidzhikov
55ba8f063b
kube-scheduler: Fix a misleading error message in the VolumeRestrictions plugin
...
Co-authored-by: Dimitar Ivanov <dimitar.ivanov04@sap.com >
2024-12-10 16:18:57 +02:00
googs1025
69831b0043
chore(scheduler): refactor import package ordering
2024-09-18 20:31:03 +08:00
Kensei Nakada
fe3ab649d0
feat: remove node general update event from EventsToRegister when QHint is enabled
2024-09-14 16:15:40 +09:00
dom4ha
e7827879db
Enable testing logger in the remaining scheduler tests.
2024-09-09 21:59:24 +00:00
Kensei Nakada
8519d3399f
chore: move the scheduler internal components out of internal dir
2024-08-25 13:10:29 +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
Kensei Nakada
03b8241fce
put storage related plugins under SIG-Storage reviewing
2023-11-23 08:35:49 +00: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
af85f410a2
Improve the performance of slice usage
...
Signed-off-by: mantuliu <240951888@qq.com >
2023-02-21 19:30:27 +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
bc8f3198d5
cleanup: move scheduler plugin tests to use PodWrapper
...
Move scheduler plugin unit tests use testing PodWrapper
where applicable to reduce duplicating pod creation
code and shorten number of lines.
Signed-off-by: Yibo Zhuang <yibzhuang@gmail.com >
2022-05-05 10:48:55 -07: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
Wei Huang
939e98135c
sched: fix goroutine leak in unit tests
2022-01-22 22:53:11 -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
Benjamin Elder
56e092e382
hack/update-bazel.sh
2021-02-28 15:17:29 -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