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
RAKESH REDDY BANDI
d44a20f9ca
Rename DefaultPodTopologySpread plugin #91994
2020-06-27 13:46:31 -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
Kubernetes Prow Robot
8adcd7978e
Merge pull request #92268 from alculquicondor/ext-point-profile
...
Add profile label to framework_extension_point_duration_seconds
2020-06-24 13:31:37 -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
Rafal Wicha
d7c84e11f5
Fix API encoding inconsistencies in KubeSchedulerConfig
2020-06-24 09:03:35 +01: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
Kubernetes Prow Robot
1c11ff7a26
Merge pull request #92107 from Huang-Wei/fake-artifacts-refactor
...
Move scheduler fake artifacts to pkg/scheduler/testing
2020-06-15 18:14:34 -07:00
Wei Huang
dd5db75840
Move scheduler fake artifacts to pkg/scheduler/testing
...
- move some fake artifacts from pkg/scheduler/core to pkg/scheduler/testing so it can be consumed
by core as well as plugin testings
2020-06-15 10:56:06 -07: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
Wei Huang
bd184035c4
Extract logic related with scheduler nominatedPods to an interface
...
- rename `UpdateNominatedPodForNode` to `AddNominatedPod`
- promote `update` to `UpdateNominatedPod`
- anonymous lock in nominatedMap
- pass PodNominator as an option to NewFramework
2020-05-18 10:29:08 -07:00
Davanum Srinivas
07d88617e5
Run hack/update-vendor.sh
...
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:33 -04: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
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
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
Patrick Ohly
2e7ce8cea0
bazel update
2020-02-28 10:09:19 +01:00
Patrick Ohly
6329b17d2f
volume scheduler: introduce special string type
...
This makes it possible to search for the special strings more easily
(https://github.com/kubernetes/kubernetes/pull/88230#discussion_r382367043 ).
2020-02-28 10:09:19 +01:00
Patrick Ohly
6eb0b034ac
volume scheduler: move reason strings into volume code
...
The scheduler doesn't really need to know in detail which reasons
rendered a node unusable for a node. All it needs from the volume
binder is a list of reasons that it then can present to the user.
This seems a bit cleaner. But the main reason for the change is that
it simplifies the checking of CSI inline volumes and perhaps later
capacity checking. Both will lead to new failure reasons, which then
can be added without changing the interface.
2020-02-28 10:09:18 +01: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