Commit graph

136 commits

Author SHA1 Message Date
gfilipek
f5994eaff5 scheduler: update test metrics coverage using TestPlugin directly 2026-07-10 09:55:02 +00:00
gfilipek
9f6514c99f scheduler: add PodGroupPostFilter metrics and unit tests 2026-07-10 06:09:51 +00:00
kubernetes-prow[bot]
310d9b8201
Merge pull request #139674 from GFilipek/feature/placement-post-filter
Feature: Add PodGroupPostFilter extension point
2026-07-09 18:56:33 +00:00
gfilipek
28027817bb scheduler: key NominatingInfos by types.NamespacedName in PodGroupPostFilterResult 2026-07-09 15:28:46 +00:00
gfilipek
cff5332d57 framework: introduce and configure PodGroupPostFilter extension point iteration 2026-07-09 15:28:46 +00:00
Antoni Zawodny
0b06f1b862 Run PlacementFeasible before any Pod is attempted 2026-07-09 13:06:40 +02:00
Antoni Basista
a84388789f Decouple WAP logic from scheduler struct 2026-07-03 14:07:11 +00:00
kubernetes-prow[bot]
8c64324b69
Merge pull request #139880 from brejman/placement-feasible-status-update
Update PlacementFeasible statuses according to KEP
2026-06-22 10:23:44 +00:00
brejman
d62640f75a Update PlacementFeasible statuses according to KEP
Unschedulable -> Wait
UnschedulableAndUnresolvable -> Unschedulable

In the future, we can return UnschedulableAndUnresolvable if there's not
enough pods in the podgroup in total.
2026-06-22 09:12:56 +00:00
Maciej Skoczeń
54ca619d4b Merge GangScheduling and WorkloadAwarePreemption feature gates into GenericWorkload 2026-06-15 11:42:10 +00:00
Bartosz
499e68fd23
Return error PlacementFeasible is not implemented in GangScheduling 2026-06-02 10:30:49 +00:00
Kubernetes Prow Robot
ae84ac1a16
Merge pull request #138274 from wtravO/wtravo/placement-cycle-state
Add PlacementCycleState to WAS scheduler framework
2026-05-28 16:28:48 +05:30
wtravO
b968273f03 Pass PlacementCycleState to PlacementFeasible plugins 2026-05-27 10:44:44 -04:00
wtravO
101af7309c Keep PlacementCycleState out of PodGroupAssignments 2026-05-27 10:25:23 -04:00
wtravO
bd97e3f190 expose PodGroupCycleState via PlacementCycleState 2026-05-27 10:25:23 -04:00
Maciej Skoczeń
8eb66b73ef Add support for PodGroups in scheduling queue 2026-05-27 13:06:13 +00:00
Bartosz
1e1bad1dde
Add PlacementFeasible plugin to support early gang termination 2026-05-25 10:36:03 +00:00
Antoni Basista
8b8aa9c52b Add support for NNN in podgrouppreemption 2026-05-25 08:54:22 +00:00
dom4ha
8a52fb2ea9 Migrate references to v1alpha3 in tests, controllers, and remaining files 2026-05-22 12:50:19 +00:00
dom4ha
43ebd00b66 Migrate internal references from v1alpha2 to v1alpha3 in scheduler and admission plugins 2026-05-22 12:50:19 +00:00
Jarosław Dzikowski
b7edf53ab3 Try to schedule as many pods as possible during workload preemption algorithm 2026-05-07 11:52:33 +00:00
Maciej Wyrzuc
1f15743e49 Add pod group preemption 2026-03-23 16:22:32 +00:00
Maciej Wyrzuc
1382c96217 Allow cycle state to skip all post filter plugins 2026-03-23 12:30:23 +00:00
Kubernetes Prow Robot
c332baec33
Merge pull request #136155 from bhope/metrics-beta-scheduler
Promote scheduler metrics to beta
2026-03-17 04:47:37 +05:30
Prathamesh Bhope
d66ae77959 Promote scheduler metrics to beta 2026-03-13 16:06:42 -07:00
Bartosz
43c5d2a419
Add PlacementGeneratePlugin interface and runner 2026-03-12 09:33:05 +00:00
Bartosz
f50ae7284a
Remove feature gate check for placement score plugin validation 2026-03-10 09:42:07 +00:00
Bartosz
db3c8f3a4b
Add PlacementScorePlugin interface and runner 2026-03-10 09:42:04 +00:00
Kubernetes Prow Robot
8275484dcf
Merge pull request #137297 from atombrella/feature/pkg_forvar_modernize
Remove redundant variable re-assignment in for-loops under pkg
2026-03-05 00:28:20 +05:30
Maciej Skoczeń
912bf9c4ef Use a single RunPermitPlugins function and call AddWaitingPod outside a framework 2026-03-02 15:14:12 +00:00
Mads Jensen
f11bb48738 Remove redundant re-assignment in for-loops under pkg
This the forvar rule from modernize. The semantics of the for-loop
changed from Go 1.22 to make this pattern obsolete.
2026-03-02 08:47:43 +01:00
Maciej Skoczeń
6233b25907 Introduce Workload Scheduling Cycle
Add integration tests for gang and basic policy workload scheduling

Add more tests for cluster snapshot

Proceed to binding cycle just after pod group cycle

Enforce one scheduler name per pod group, rename workload cycle to pod group cycle

Add unit tests for pod group scheduling cycle

Run ScheduleOne tests treating pod as part of a pod group

Rename NeedsPodGroupCycle to NeedsPodGroupScheduling

Observe correct per-pod and per-podgroup metrics during pod group cycle

Rename pod group algorithm status to waiting_on_preemption

Mention forgotAllAssumedPods is a safety check
2026-02-17 09:02:32 +00:00
Antoni Zawodny
833b7205fc Run PreBind plugins in parallel if feasible 2026-01-11 14:19:18 +01:00
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
Kensei Nakada
ac9fad6030 feat: trigger PreFilterPreBind in the binding cycle 2025-07-29 19:01:02 +09: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
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
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
carlory
aab7a079fa make each scheduler test independent
Signed-off-by: carlory <baofa.fan@daocloud.io>
2025-03-13 14:39:50 +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
Ania Borowiec
4205f04ce3
Replace uses of reflect.DeepEqual with cmp.Diff in pkg/scheduler tests 2025-02-26 09:27:51 +00:00
googs1025
69831b0043 chore(scheduler): refactor import package ordering 2024-09-18 20:31:03 +08:00
Richa Banker
6944af22d1 Initialize scheduler metrics after metrics options are applied 2024-09-13 12:52:32 -07: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
Maciej Skoczeń
33815db3c1 Move NominatedPodsForNode to scheduling queue directly 2024-08-21 07:24:52 +00:00
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