53 Commits

Author SHA1 Message Date
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
Kensei Nakada
ebae419337 feat: add PreBindPreFlight and implement in in-tree plugins 2025-07-05 17:14:21 -07: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
Kubernetes Prow Robot
e0859f91b7 Merge pull request #131887 from ania-borowiec/extract_cyclestate_interface
Moving Scheduler interfaces to staging: split CycleState into interface and implementation, move interface to staging repo
2025-05-30 04:00:18 -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
Kensei Nakada
f694c58c6c feat: graduate QueueingHint to GA 2025-05-26 21:23:46 +02:00
Kensei Nakada
adc4916dfe feat: introduce pInfo.UnschedulableCount to make the backoff calculation more appropriate 2025-05-17 12:39:58 +02:00
Kensei Nakada
47d296d62d feat: introduce pInfo.GatingPlugin to filter out events more generally 2025-05-07 13:54:47 +02: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
Maciej Skoczeń
c7919f5e22 Pop from the backoffQ when the activeQ is empty 2025-03-20 16:07:13 +00:00
Kubernetes Prow Robot
0f7becbc44 Merge pull request #130537 from saintube/scheduler-expose-nodeinfo-in-score
Expose NodeInfo to the ScorePlugin
2025-03-06 06:53:55 -08:00
saintube
afb4e96510 Expose NodeInfo to Score plugins
Co-authored-by: shenxin <rougang.hrg@alibaba-inc.com>
Signed-off-by: saintube <saintube@foxmail.com>
2025-03-04 17:57:14 +08:00
Shereen Haj
8a1057a804 test: sched: replace pointer use with ptr
As `pointer` functions are deprecated, replace those functions calls
with `ptr.To`.

Fixes: https://github.com/kubernetes/kubernetes/issues/130408

Signed-off-by: Shereen Haj <shajmakh@redhat.com>
2025-02-28 17:24:19 +02:00
Kubernetes Prow Robot
c7489b20f2 Merge pull request #129750 from googs1025/scheduler/add_integration_for_queuesortplugin
feature: add scheduler queuesort plugins integration test
2025-02-05 03:08:17 -08:00
googs1025
8c80d384b2 feature: add scheduler queuesort plugins integration test 2025-01-29 08:54:43 +08:00
Sharath P J
627e83c841 Passed context for Wait methods in integration test utils 2025-01-24 19:48:23 +05:30
Kubernetes Prow Robot
ea1143efc7 Merge pull request #126022 from macsko/new_node_to_status_map_structure
Change structure of NodeToStatus map in scheduler
2024-08-13 21:02:55 -07:00
Maciej Skoczeń
98be7dfc5d Change structure of NodeToStatus map in scheduler 2024-07-25 07:48:35 +00:00
googs1025
a3978e8315 scheduler: Add ctx param and error return to EnqueueExtensions.EventsToRegister() 2024-07-18 12:22:17 +08:00
googs1025
15cc77603e chore: use testCtx instead of context.TODO() 2024-07-09 16:20:03 +08:00
Kensei Nakada
afed31193b update a test name and comment 2024-06-20 23:46:17 +00:00
Kensei Nakada
dd3af9a85b fix: skip isPodWorthRequeuing only when SchedulingGates gates the pod 2024-06-17 01:14:34 +00:00
AxeZhan
d66f8f9413 schedulingQueue update pod by queueHint 2024-06-12 21:26:09 +08:00
kerthcet
f5b6f79410 Avoid to use deprecated wait.Poll in scheduler tests
Signed-off-by: kerthcet <kerthcet@gmail.com>
2024-05-10 14:17:09 +08:00
Gabe
4e99ada05f Filter gated pods before calling isPodWorthRequeueing 2024-04-29 16:54:40 +00:00
Wei Huang
d3821508f1 test to catch illegal nodeNames returned by PreFilterResult 2024-04-26 15:45:46 -07:00
Wei Huang
01db4ae9e7 Graduate PodSchedulingReadiness to stable 2024-02-28 23:18:44 -08:00
AxeZhan
be48c93689 Sched framework: expose NodeInfo in all functions of PluginsRunner interface 2023-12-15 11:30:06 +08:00
kerthcet
f77a4543d1 Unregister events in schedulingGates plugin
Signed-off-by: kerthcet <kerthcet@gmail.com>
2023-11-06 10:01:13 +08: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
0d3eafdfa3 fix(scheduling_queue): always put Pods with no unschedulable plugins into activeQ/backoffQ (#119105)
* always put Pods with no unschedulable plugins into activeQ/backoffQ

* address review comments
2023-09-11 09:30:11 -07:00
kerthcet
c29234d3e1 Add integration tests for all bind plugins skipped in TestBindPlugin
Signed-off-by: kerthcet <kerthcet@gmail.com>
2023-08-28 22:05:58 +08:00
SataQiu
ef7d404702 using wait.PollUntilContextTimeout instead of deprecated wait.Poll for pkg/scheduler
using wait.PollUntilContextTimeout instead of deprecated wait.Poll for test/integration/scheduler

using wait.PollUntilContextTimeout instead of deprecated wait.Poll for test/e2e/scheduling

using wait.ConditionWithContextFunc for PodScheduled/PodIsGettingEvicted/PodScheduledIn/PodUnschedulable/PodSchedulingError
2023-08-17 17:25:09 +08:00
kerthcet
47ef977ddd Direct reference to the packages
Signed-off-by: kerthcet <kerthcet@gmail.com>
2023-07-08 12:03:46 +08:00
kerthcet
278a8376e1 Fix: fiterror in permit plugin not handled perfectly
We only added failed plulgins, but actually this will not work unless
we make the status with a fitError because we only copy the failured plugins
to podInfo if it is a fitError

Signed-off-by: kerthcet <kerthcet@gmail.com>
2023-07-07 10:35:59 +08:00
Kensei Nakada
be14b026e3 fix the integration test 2023-06-11 04:47:18 +00:00
Patrick Ohly
9e9a6cde4b test/integration/scheduler: fix data races
The plugins get called by scheduler goroutines. At least the polling seems to
be done concurrently and thus needs locking.

Locking the PreBindPlugin state is less obvious. It might be that the scheduler
is really done with the test pod, but that ordering doesn't seem to be enough
for the race detector. It's simpler to add mutex locking.
2023-05-17 17:10:09 +02:00
Kante Yin
859359ad6a Fix strict linting
Signed-off-by: Kante Yin <kerthcet@gmail.com>
2023-05-04 10:25:10 +08:00
Kante Yin
2d866ec2fc Teardown only scheduler in integration tests
Signed-off-by: Kante Yin <kerthcet@gmail.com>
2023-05-04 10:09:24 +08:00
Kante Yin
014be8444a Make sure resoruces will be cleaned up when initializing error
Signed-off-by: Kante Yin <kerthcet@gmail.com>
2023-02-17 17:10:38 +08:00
Kante Yin
2c205e291d Distinguish unschedulable with unresolvable in scheduler
Before, in RunPostFilterPlugins, we didn't distinguish between unschedulable and unresolvable
because we only have one postFilterPlugin by default, now, we have at least two, we should
make sure that once a postFilterPlugin returns unresolvable, we'll return directly

Signed-off-by: Kante Yin <kerthcet@gmail.com>
2023-01-05 16:59:19 +08:00
Kante Yin
666605498a Replace deprecated pointer function
Signed-off-by: Kante Yin <kerthcet@gmail.com>
2022-12-26 22:06:44 +08:00
Wei Huang
ae5d430c76 Integration tests for KEP Pod Scheduling Readiness
- test generic integration in plugins_test.go
- test integration with SchedulingGates plugin in queue_test.go
2022-11-08 10:06:44 -08:00
Kante Yin
096dafe757 Feat: unify the status handle when return in bindingCycle (#112103)
Signed-off-by: kerthcet <kerthcet@gmail.com>

Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-09-09 08:31:23 -07:00
kerthcet
e61c16cc95 fix tests
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-08-25 15:33:10 +08:00
kerthcet
dd4fb3cd37 fix test error
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-08-25 13:29:09 +08:00
Kubernetes Prow Robot
442548a064 Merge pull request #110534 from kerthcet/feat/ga-component-config
Graduate component config to stable in kube-scheduler
2022-07-29 09:59:11 -07:00
kerthcet
02f77a1b84 Feat: ga component config in kube-scheduler
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-07-29 08:47:48 +08:00