Commit graph

204 commits

Author SHA1 Message Date
vshkrabkov
1d019e2477 podGroup as victim scenario into pod by pod preemption flow 2026-07-10 15:32:01 +00:00
Maciej Wyrzuc
00f22436be Reimplement WAP with in place filter reprieval 2026-07-10 11:36:02 +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
cff5332d57 framework: introduce and configure PodGroupPostFilter extension point iteration 2026-07-09 15:28:46 +00:00
Maciej Wyrzuc
cb5b7336d6 Add a message when preemption succeeds 2026-07-08 08:34:09 +00:00
kubernetes-prow[bot]
da0c8b65c9
Merge pull request #140247 from antekjb/embedShardListerToMutableSnapshotSharedLister
Embed SharedLister to MutableSnapshotSharedLister
2026-07-06 14:44:35 +00:00
kubernetes-prow[bot]
5f2bdc6de2
Merge pull request #140054 from googs1025/flake_scheduler
flake(scheduler): reactivate preemptor after in-memory preemption
2026-07-06 13:32:28 +00:00
Antoni Basista
240564d592 Embed SharedLister to MutableSnapshotSharedLister and use MutableSnapshotSharedLister in preemption for snapshot access 2026-07-06 09:16:34 +00:00
Antoni Basista
a84388789f Decouple WAP logic from scheduler struct 2026-07-03 14:07:11 +00:00
CYJiang
8d5731c016 scheduler: return in-memory preemption result 2026-07-03 10:53:21 +08:00
Maciej Skoczeń
0e2ac7a40f Cache and snapshot PodGroup API objects in kube-scheduler 2026-07-02 10:57:06 +00:00
Ania Borowiec
d2842d8f03
Add PreemptionPolicy field to PodGroup 2026-06-30 16:48:10 +00:00
Maciej Skoczeń
54ca619d4b Merge GangScheduling and WorkloadAwarePreemption feature gates into GenericWorkload 2026-06-15 11:42:10 +00:00
Maciej Wyrzuc
29ddc2907b Wrap errors from pod group preemption 2026-05-26 12:54:46 +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
Matt Matejczyk
259b504c3b scheduler: match preemptor eligibility behavior in pod group preemption 2026-05-15 11:34:18 +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
iomarsayed
7a54834917 split pod resource types to help plugins register to only cluster events which they require 2026-04-17 08:29:24 +00:00
Antoni Zawodny
ccaaf9d3a5 Marry WAP logic with the new API fields 2026-03-24 09:36:00 +01:00
Maciej Wyrzuc
1f15743e49 Add pod group preemption 2026-03-23 16:22:32 +00:00
Omar Sayed
e1b18e34ff snapshot pod group state before scheduling cycle and embed pod group manager into cache 2026-03-13 21:44:17 +00:00
Antoni Zawodny
fa29c9db6a
Revert "Extend PostFilterResult with a list of victim Pods" 2026-03-12 10:03:35 +01:00
Antoni Zawodny
3f094dc228
Create Workload API v1alpha2 (#136976)
* Drop WorkloadRef field and introduce SchedulingGroup field in Pod API

* Introduce v1alpha2 Workload and PodGroup APIs, drop v1alpha1 Workload API

Co-authored-by: yongruilin <yongrlin@outlook.com>

* Run hack/update-codegen.sh

* Adjust kube-scheduler code and integration tests to v1alpha2 API

* Drop v1alpha1 scheduling API group and run make update

---------

Co-authored-by: yongruilin <yongrlin@outlook.com>
2026-03-10 07:59:10 +05:30
Bartosz
e5461b7701
Prepare pod group scheduling cycle for placement simulation 2026-03-03 18:07:13 +00:00
Maciej Wyrzuc
4a326b0196 Preempt pods in prebind phase without delete calls.
This change allows the preemption to preempt a pod that is not yet
bound, but is already in prebind phase) without issuing a delete call to the
apiserver.

Pods are added to a special map of pods currently in prebind phaseand
preemption can cancel the context that is used for given pod prebind phase ,
allowing it to gracefully handle error in the same manner as errors
coming out from prebind plugins. This results in pods being pushed to
backoff queue, allowing them to be rescheduled in upcoming scheduling
cycles.
2026-02-18 09:00:23 +00:00
Antoni Zawodny
25d93e1f8e Extend PostFilterResult with a list of victim Pods 2026-02-17 16:50:20 +01:00
Roman Baron
74b7ff3c63 scheduler: Remove ttl parameter from cache.New signature 2026-01-13 17:04:06 +02:00
Ravi Sastry Kadali
9dc5683c56 scheduler: Fix memory leak in scheduler cache
The `removeSlice` function was leaving behind references to the
removed element, preventing it from being garbage-collected.
This commit ensures that removed entries are fully cleared,
eliminating the memory leak.

Co-authored-by: ravisastryk <ravisastryk@gmail.com>
Signed-off-by: Sujal Shah <sujalshah28092004@gmail.com>
2025-11-20 02:18:38 +05:30
Maciej Skoczeń
3dfcda9afd Fix minor inconsistencies in scheduler 2025-09-10 11:40:10 +00: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
Maciej Skoczeń
17d733e243 KEP-5229: Send API calls through dispatcher and cache 2025-07-25 15:35:36 +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
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
Kubernetes Prow Robot
0afe2b839d
Merge pull request #129983 from nickbp/master
feature(scheduler): Customizable pod selection and ordering in DefaultPreemption plugin
2025-05-20 05:09:15 -07:00
Nicholas Parker
7bccb1acb5
Update pkg/scheduler/framework/plugins/defaultpreemption/default_preemption.go
Co-authored-by: Dominik Marciński <gmidon@gmail.com>
2025-05-16 13:12:13 +12:00
Nicholas Parker
28602c66fc Update pkg/scheduler/framework/plugins/defaultpreemption/default_preemption_test.go
Co-authored-by: Maciej Skoczeń <87243939+macsko@users.noreply.github.com>
2025-05-13 06:56:27 +12:00
Nick Parker
52e7aa37da gofmt 2025-05-13 06:56:27 +12:00
Nick Parker
a507e64fe4 Have separate tests for custom selection vs ordering, add comments around system pod eligibility 2025-05-13 06:56:27 +12:00
Nick Parker
283c5e6b61 Have IsEligiblePod be supplemental to priority check, update tests 2025-05-13 06:56:27 +12:00
Nick Parker
3ed73e058a Clean up the affinity explanation, fix for new lint rule 2025-05-13 06:56:27 +12:00
Nick Parker
d4bc527a7b Update comments: affinity info, default behavior, priority->importance 2025-05-13 06:56:27 +12:00
Nicholas Parker
95ebc2c10e Apply suggestions from code review
Co-authored-by: Dominik Marciński <gmidon@gmail.com>
2025-05-13 06:56:27 +12:00
Nick Parker
7f57c6e52d Update factory to use generics, keep single New function 2025-05-13 06:56:27 +12:00
Nick Parker
137da6a488 Remove line about equal priority, fix typo 2025-05-13 06:56:27 +12:00
Nicholas Parker
b8ac171437 Apply suggestions from code review
Co-authored-by: Dominik Marciński <gmidon@gmail.com>
2025-05-13 06:56:27 +12:00