tangwz
5f3efa671d
scheduler: make Profile an interface.
2020-10-27 09:13:04 +08:00
Ali
09b2e8f638
Move scheduler interface to pkg/scheduler/framework
2020-10-13 13:13:27 +11:00
Jan Chaloupka
274c536da3
Removing GetPodPriority from pkg/api and importing PodPriority from k8s.io/component-helpers
2020-10-11 21:40:11 +02:00
Arghya Sadhu
c62f0dd165
removing deprecated scheduler metrics
2020-09-22 21:04:15 +05:30
Wei Huang
185ba08fcd
Move podPassesBasicChecks() to VolumeBinding plugin
2020-09-11 13:54:02 -07:00
Wei Huang
42cfda2f94
Remove pvcLister from genericScheduler
...
PVCLister can be fetched from sharedInformerFactory.
2020-09-11 13:54:01 -07:00
Wei Huang
eb3d2de543
Remove field disablePreemption from internal scheduler codebase
2020-09-10 13:06:42 -07:00
He Jie Xu
dc52b69ddc
Only lock statuses map when status isn't successful
...
Determine the status successful or not first, that will reduce the chance
of lock contention.
2020-08-18 22:40:15 +08:00
Joe Betz
02cf58102a
Revert nested trace PR#88936
2020-07-20 09:55:05 -07:00
Joe Betz
b12ac0abc6
Enable nested tracing, add request filter chain tracing incl. authn/authz tracing
2020-07-11 06:42:00 -07:00
Kubernetes Prow Robot
fbc9cf0894
Merge pull request #92797 from ahg-g/ahg-prefilter
...
Return a FitError when PreFilter fails with unschedulable status
2020-07-10 15:42:31 -07:00
Patrick Ohly
ff3e5e06a7
GenericEphemeralVolume: initial implementation
...
The implementation consists of
- identifying all places where VolumeSource.PersistentVolumeClaim has
a special meaning and then ensuring that the same code path is taken
for an ephemeral volume, with the ownership check
- adding a controller that produces the PVCs for each embedded
VolumeSource.EphemeralVolume
- relaxing the PVC protection controller such that it removes
the finalizer already before the pod is deleted (only
if the GenericEphemeralVolume feature is enabled): this is
needed to break a cycle where foreground deletion of the pod
blocks on removing the PVC, which waits for deletion of the pod
The controller was derived from the endpointslices controller.
2020-07-09 23:29:24 +02:00
Abdullah Gharaibeh
c98dee4945
Return a FitError when PreFilter fails with unschedulable status
2020-07-06 15:02:07 -04:00
Wei Huang
058e3d4258
Move Preempt() and its related functions to defaultpreemption package
...
Refactor genericScheduler and signature of preemption funcs
- remove podNominator from genericScheduler
- simplify signature of preemption functions
Make Preempt() private
2020-06-25 12:33:51 -07:00
Kubernetes Prow Robot
62b091b77f
Merge pull request #92476 from Huang-Wei/pbd-bug
...
Fix a preemption bug when pods are listed in pdb.Status.DisruptedPods
2020-06-25 09:46:08 -07:00
Wei Huang
82ab6db94b
Pods in pdb.Status.DisruptedPods are treated as 'nonViolating' in any case
2020-06-24 11:22:31 -07:00
Wei Huang
488621815f
Fix a preemption bug when pods are matched by pdb.Status.DisruptedPods
2020-06-24 11:22:31 -07:00
Aldo Culquicondor
698eda3079
Add profile label to scheduler extension point metrics
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-06-23 15:30:22 -04:00
Ali Farah
a22e115a0e
Split scheduler framework implementation into new runtime package
2020-06-22 00:23:43 +10:00
Wei Huang
196056d7fe
Introduce a defaultpreemption PostFilter plugin
...
- Add a defaultpreemption PostFilter plugin
- Make g.Preempt() stateless
- make g.Preempt() stateless
- make g.getLowerPriorityNominatedPods() stateless
- make g.processPreemptionWithExtenders() stateless
2020-06-19 09:13:55 -07:00
Kubernetes Prow Robot
7e073db5e0
Merge pull request #91986 from denkensk/fix-pdb-preempt
...
Computing DisruptedPods of PDB in scheduling preemption
2020-06-16 19:23:03 -07:00
Alex Wang
02e4060b1b
Computing DisruptedPods of PDB in scheduling preemption
2020-06-16 10:24:55 +08:00
Wei Huang
36c8ecc98c
Refactor scheduler preempt interface
...
- replace error with NodeToStatusMap in Preempt() signature
- eliminate podPreemptor interface and expose its functions statelessly
- move logic in scheduler.go#preempt to generic_scheduler.go#Preempt()
2020-06-15 08:42:00 -07:00
Kubernetes Prow Robot
94833ccdf2
Merge pull request #91673 from skilxn-go/PickNodeFix
...
Fix pick-node strategy when there is no filter plugin
2020-06-09 14:49:11 -07:00
Abdullah Gharaibeh
8bf30530e8
Remove unnecessary log message causing significant overhead on preemption evaluation
2020-06-05 16:50:25 -04:00
skilxn-go
fe9d9ebce1
Fix pick-node strategy when there is no filter plugin
2020-06-03 09:12:44 +08:00
Wei Huang
59eff29d22
- Add Extenders() and PluginsRunner interface to PreemptHandle
...
- Make some private functions stateless
- make addNominatedPods() not dependent on genericScheduler
- make addNominatedPods() not dependent on genericScheduler
- make selectVictimsOnNode() not dependent on genericScheduler
- make selectNodesForPreemption() not dependent on genericScheduler
2020-05-26 10:00:45 -07:00
zhouya0
dabd00ca4c
Fix scheduler prefilter comment
2020-05-25 17:45:44 +08:00
Wei Huang
f4b726237a
Add function NominatedPodsForNode to PodNominator interface.
...
- replace SchedulingQueue with PodNominator in genericScheduler.
2020-05-20 14:05:18 -07:00
Davanum Srinivas
442a69c3bd
switch over k/k to use klog v2
...
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:27 -04:00
Wei Huang
eb17b7559c
move SchedulerExtender interface to pkg/scheduler/framework/v1alpha1
2020-05-13 13:09:13 -07:00
Wei Huang
e4f878ea3a
cleanup: use string instead of v1.Node as key of nodeToVictims
2020-05-13 13:08:20 -07:00
Wei Huang
e283e73994
Remove enableNonPreempting
field from scheduler codebase
2020-05-08 19:02:51 -07: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
Harsh Singh
015d06bf41
Internal channels for scheduler
2020-04-04 02:30:16 +05:30
Abdullah Gharaibeh
ed3fe054df
move scheduler nodeinfo to pkg/scheduler/types
2020-03-31 21:02:09 -04:00
Wei Huang
06f48a988f
Print detailed score results on verbose level 10
2020-03-25 10:46:28 -07:00
Aldo Culquicondor
e902e70d0d
Use sqrt(n) chunk size in pod affinity and core scheduler
2020-03-24 10:29:59 -04:00
Abdullah Gharaibeh
24fe5a2f72
Moved RunPreScorePlugins to inside prioritizeNodes and RunPreFilterPlugins to inside findNodesThatFitPod.
2020-03-23 11:08:40 -04:00
Abdullah Gharaibeh
f9b650bc98
Scheduler: execute PreScore right before Score instead of after Filter.
2020-03-23 10:59:04 -04:00
notpad
a043bc438d
Fix comments
2020-03-16 11:58:27 +08:00
Mike Dame
18ffaf5608
Move scheduler extender API V1 to staging k8s.io/kube-scheduler
2020-02-27 12:10:59 -05:00
Aldo Culquicondor
c048858471
Support multiple scheduling profiles in a single scheduler
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-25 11:31:20 -05:00
skilxn-go
8fd0d8028f
Remove FilteredNodesStatuses
argument from PreScore
interface
2020-02-15 13:53:04 +08:00
skilxn-go
f5b7e3cca3
Rename PostFilter
plugin to PreScore
2020-02-12 23:25:08 +08:00
Shintaro Murakami
577b2dcdac
Fix numPDBViolations when victims on same node are assigned same PDB
2020-01-23 10:14:53 +09:00
Cong Liu
e0aeb4d6a3
Record overall Filter latency for all nodes in a scheduling cycle.
2020-01-22 13:46:38 -05:00
zouyee
d6b449b5c7
Move scheduler's SchedulerExtender interface to core/extenders.go
...
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2020-01-21 20:20:20 +08:00