Commit Graph

2742 Commits

Author SHA1 Message Date
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
maelk
fc5edb8c12
Change nodeInfolist building logic in scheduler
This commit transforms the next() function of the scheduler node
tree into a listNodes() function that directly returns a list of
nodes, going through the zones in a round-robin fashion. This
removes the flawed logic of the next() function.
2020-08-18 11:35:14 +03:00
Kubernetes Prow Robot
3647766cbc
Merge pull request #93938 from alculquicondor/revert-node-delete
Keep track of remaining pods when a node is deleted
2020-08-13 13:25:41 -07:00
Aldo Culquicondor
dfe9e413d9 Keep track of remaining pods when a node is deleted.
The apiserver is expected to send pod deletion events that might arrive at a different time. However, sometimes a node could be recreated without its pods being deleted.

Partial revert of https://github.com/kubernetes/kubernetes/pull/86964

Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I51f683e5f05689b711c81ebff34e7118b5337571
2020-08-13 14:24:01 -04:00
Aldo Culquicondor
16d7ecfa45 Remove direct accesses to cache's node map
Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: Iebb22fc816926aaa1ddd1e4b2e52f335a275ffaa
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-08-13 14:22:06 -04:00
lixiaobing1
7920de5b57 remove some notes about scheduler/algorithm 2020-08-13 10:01:54 +08:00
zhouya0
a1c3ebdffc Seperate registry and feature gates 2020-08-12 09:06:21 +08:00
Kubernetes Prow Robot
4750523bac
Merge pull request #93893 from alculquicondor/fix-scheduler-test
Sync cache before starting scheduler test
2020-08-11 15:31:46 -07:00
Aldo Culquicondor
1978866474 Improve running time of TestSchedulerWithVolumeBinding
Only wait for finished binding or error, but not both

Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I13d16e6c7c45c6527591aa05cc79fc5e96d47a68
2020-08-11 17:31:29 -04:00
Aldo Culquicondor
24f817a487 Sync cache before starting scheduler test
Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I9629e1d6d510607b505b0302e23d67e0ae4a662e
2020-08-11 13:36:54 -04:00
Yecheng Fu
1176ef9c7d forget the pod when the reserve plugins fail
and move the metrics function calls before all other functions
2020-08-11 21:28:33 +08:00
He Jie Xu
75ccb90407 Fast return when no any matched anti-affinity terms
When check the incoming pod's anti-affinity rules, there is change to
return early when there is no any matched anti-affinity terms in the
whole cluster.
2020-08-10 14:53:10 +08:00
houmin
868dd41a96 Fix an error in NodeUnschedulable plugin comment 2020-08-10 11:20:23 +08:00
Kubernetes Prow Robot
377287ad37
Merge pull request #93660 from damemi/1.19-affinity-validation
Add LabelSelector validation in Pod Affinity/AntiAffinity Filter and Score plugins
2020-08-08 03:40:19 -07:00
Mike Dame
012245c5b9 Add LabelSelector validation in Pod Affinity/AntiAffinity Filter and Score plugins
The lack of this validation on incoming pods causes unpredictable cluster outcomes
when later calculating affinity results against existing pods (see #92714). This fix
quickly addresses the main source where these problems should be caught.

It is unfortunately difficult to add this validation directly to the API server due
to the fact that it may break migrations with existing pods that fail this check. This
is a compromise to address the current issue.
2020-08-07 12:17:40 -04:00
Shingo Omura
ef1fab7642
expose Run[Pre]ScorePlugins functions in PluginRunner interface 2020-08-04 22:50:13 +09:00
Yecheng Fu
96d0408a89 fix TestVolumeBinding unit test 2020-08-03 07:06:06 +08:00
Kubernetes Prow Robot
c1b772fb33
Merge pull request #93516 from soulxu/fix_node_tree_test
Create new slice to avoid modify original fake data
2020-08-01 22:59:39 -07:00
Wei Huang
0e71facefe
Hold Pod in cache until all other cleanup work is completed
- Move "ForgetPod" after "RunReservePluginsUnreserve", so that the cache would hold the pod to
  avoid it's being retried simutaneously until Unreserve is completed.
- Move "assume" ahead of "RunReservePluginsReserve". This is based on the fact that "ForgetPod" is
  the last step of failure path, so "assume" should be reversly treated as the first step. The
  current failure path is like this:
  assume -> reserve -> unreserve -> forgetPod -> recordingFailure
- Make subtests of TestReservePluginUnreserve stateless
2020-07-29 11:27:19 -07:00
He Jie Xu
33a7e94b6a Create new slices to avoid modify original fake data
When create fake data for the nodeTree unittests, The 'append' is invoked
on the common fake data set. That makes the unittests is running with unexpected
fake data after that.
2020-07-29 11:36:47 +08:00
Kubernetes Prow Robot
19caf38665
Merge pull request #93425 from liggitt/string-cast
Fix int->string casts
2020-07-24 23:12:16 -07:00
Jordan Liggitt
124a5ddf72 Fix int->string casts 2020-07-24 16:23:12 -04:00
Kubernetes Prow Robot
5a50c5c95f
Merge pull request #93355 from Nordix/sched-fix-mael
Fix scheduler issue with nodetree additions
2020-07-24 12:10:22 -07:00
Maël Kimmerlin
c2ec8bedbc
Fix scheduler issue with nodetree additions
When nodes are added in multiple zones at once, the nodeTree next
function does not return a correct list of nodes but repeats some
This commit resets the index before starting to call next() to
prevent this issue

Special thanks to igraecao for the help in finding the bug

Co-authored-by: igraecao <matvej.yolli@outlook.com>
2020-07-24 09:42:53 +03:00
Kubernetes Prow Robot
e884b40e73
Merge pull request #93371 from ahg-g/ahg-volume
Optimize VolumeRestriction plugin
2020-07-23 16:10:23 -07:00
Abdullah Gharaibeh
5e81a2de98 Optimize VolumeRestrictions scheduler plugin 2020-07-22 23:00:01 -04:00
Abdullah Gharaibeh
44d9497133 Increase the size of the buckets for PodSchedulingDuration scheduler metric. 2020-07-22 16:42:01 -04:00
Kubernetes Prow Robot
275eabdf72
Merge pull request #93259 from jpbetz/revert-88936
Revert nested trace PR#88936
2020-07-20 19:51:47 -07:00
Joe Betz
02cf58102a Revert nested trace PR#88936 2020-07-20 09:55:05 -07:00
Abdullah Gharaibeh
6f9794d5e9 Rename pod_preemption_metrics to preemption_metrics. Since this metric's type was changed from Gauge to Histogram, renaming it should make it easier to providers to migrate 2020-07-20 11:44:10 -04:00
Wei Huang
bc04d73330
remove duplicate path import 2020-07-14 16:34:09 -07:00
Kubernetes Prow Robot
240a72b5c0
Merge pull request #88936 from jpbetz/http-trace
Add nested tracing and endpoint filter tracing to apiserver
2020-07-13 11:27:21 -07:00
Wei Huang
4e8ccf0187
Refactor and expose common preemption functions 2020-07-11 23:17:21 -07:00
Kubernetes Prow Robot
d06ff65943
Merge pull request #92876 from Huang-Wei/pdbLister
Add pdbLister as a member field of struct DefaultPreemption
2020-07-11 20:57:42 -07:00
Kubernetes Prow Robot
016c2f64de
Merge pull request #92840 from adtac/listers
selectorspread: access listers in plugin instantiation
2020-07-11 20:56:23 -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
36b4c2942b
Merge pull request #92815 from Huang-Wei/bypass-prefilter-svcaffinity
Bypass PreFilter in ServiceAfffinity if AffinityLabels arg is not present
2020-07-10 15:43:11 -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
Kubernetes Prow Robot
0cb7e320a5
Merge pull request #92784 from pohly/generic-ephemeral-inline-volumes
generic ephemeral inline volumes
2020-07-10 15:41:46 -07:00
Dave Chen
a1b2a7765d Change the node name from "machine" to "node"
Latest change on master rename the node name from "machine" to "node"
but haven't update all the affected code, which causes some of testcases
invalid.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-07-10 10:17:58 +08: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
Yuan Chen
57de07064f
Fix a typo in PreBindPlugin comment
"before a pod is being scheduled"  ->" before a pod is bound"
2020-07-09 10:51:14 -07:00
Kubernetes Prow Robot
3a5e7ea986
Merge pull request #92752 from chendave/skip_preemption
Cut off the cost to run filter plugins when no victim pods are found
2020-07-09 09:10:10 -07:00
Kubernetes Prow Robot
70e09f2c24
Merge pull request #88842 from angao/fit-arg
add args for NodeResourcesFit plugin
2020-07-09 05:04:10 -07:00
Kubernetes Prow Robot
55d77ade67
Merge pull request #92489 from alculquicondor/sig-storage-ownership
Add SIG storage owner aliases
2020-07-09 00:05:20 -07:00
Kubernetes Prow Robot
94a08e159a
Merge pull request #92387 from pohly/csi-storage-capacity
CSI storage capacity check
2020-07-09 00:04:59 -07:00
Kubernetes Prow Robot
c2e6e147be
Merge pull request #92160 from YuikoTakada/add_deprecated_description_scheduling_duration_seconds
Add Deprecated description to metrics scheduling_duration_seconds
2020-07-09 00:04:48 -07:00
Wei Huang
d65a97848e
codegen 2020-07-08 09:58:42 -07:00
Wei Huang
4b26ef2217
Remove DisablePreemption field from SchedulerConfig v1beta1
DisablePreemption field can be removed as it can be deduced from PostFilterPlugins.
2020-07-08 09:58:42 -07:00
Wei Huang
9d377eb655
Add pdbLister as a member field of struct DefaultPreemption 2020-07-07 12:25:53 -07:00
Adhityaa Chandrasekar
832a53acdb selectorspread: access listers in plugin instantiation 2020-07-07 14:45:28 +00:00
Aldo Culquicondor
27ec356d76 Add SIG storage owner aliases
And give ownership to pkg/scheduler/framework/plugins/volumebinding

Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I4bd89b1745a2be0e458601056ab905bdd6692195
2020-07-07 10:26:16 -04:00
Dave Chen
028af0970f Cut off the cost to run filter plugins when no victim pods are found
If no potential victims could be found, there is no need to evaluate the node
again, since its state didn't change.

It's safe to return and thus prevent scheduling from running the filter plugins
again.

NOTE:
A node that is filtered out by filter plugins could pass the filter plugins if
there is a change on that node, i.e. pods termination on that node.

Previously, this could be either caught by the normal `schedule` or `preempt` (pods
are terminated when the preemption logic tries to find the nodes and re-evaluate
the filter plugins.)

Actually, this shouldn't be taken care by the preemption, consider the routine
of `schedule` is always running when the interval is "zero", let `schedule`
take care of it will release `preempt` from something irrelevant with the `preemption`.

Due to above reason, couple of testcase as well as the logic of checking the existence
of victim pods are removed as it will never happen after the change.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-07-07 09:55:34 +08:00
Abdullah Gharaibeh
c98dee4945 Return a FitError when PreFilter fails with unschedulable status 2020-07-06 15:02:07 -04:00
Patrick Ohly
0efbbe8555 CSIStorageCapacity: check for sufficient storage in volume binder
This uses the information provided by a CSI driver deployment for
checking whether a node has access to enough storage to create the
currently unbound volumes, if the CSI driver opts into that checking
with CSIDriver.Spec.VolumeCapacity != false.

This resolves a TODO from commit 95b530366a.
2020-07-06 19:20:10 +02:00
Wei Huang
07583bf95b
Bypass PreFilter in ServiceAfffinity if AffinityLabels arg is not present 2020-07-05 23:37:04 -07:00
Kubernetes Prow Robot
86096addb1
Merge pull request #92689 from chendave/fix_testcase
Fix the nits found in the testcases of `PodTopologySpread`
2020-07-03 20:31:26 -07:00
Kubernetes Prow Robot
b6cbe1b8de
Merge pull request #92662 from chelseychen/event-api-fallback
Switch event recorder to use events.k8s.io/v1
2020-07-03 05:03:15 -07:00
Kubernetes Prow Robot
19883b50f8
Merge pull request #92604 from soulxu/fix_preemption_with_nominated_node
The Pod is eligible to preempt when previous nominanted node is UnschedulableAndUnresolvable
2020-07-03 05:03:01 -07:00
Dave Chen
3e65fe4378 Change the exception to avoid the cost of preemption
node's labels doesn't contain the required topologyKeys in `Constraints`
cannot be resolved by preempting the pods on that pods.

One use case that could easily reproduce the issue is,
- set `alwaysCheckAllPredicates` to true.
- one node contains all the required topologyKeys but is failed in predicates
  such as 'taint'.
- another node doesn't hold all the required topologyKeys, and thus return `Unschedulable`
  status code.
- scheduler will try to preempt the pods on the above node with lower priorities.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-07-03 10:17:31 +08:00
He Jie Xu
b3741f344e The Pod is eligible to preempt when previous nominanted node is UnschedulableAndUnresolvable
If the Pod's previous nominated node is UnschedulableAndUnresolvable from previous
filtering, it should be considered for preemption again.
2020-07-03 08:57:45 +08:00
Chelsey Chen
ade2422883 Switch event recorder to use events.k8s.io/v1 2020-07-02 14:50:41 -04:00
Kubernetes Prow Robot
15a9430ae5
Merge pull request #92650 from ahg-g/ahg-attempts
breakdown PodSchedulingDuration by number of attempts
2020-07-02 04:17:15 -07:00
Dave Chen
41fd19760e Fix the nits found in the testcases of PodTopologySpread
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-07-02 12:37:46 +08:00
Yuiko Mori
97bca0ec59 Add Deprecated description to metrics scheduling_duration_seconds 2020-07-02 00:14:49 +00:00
Abdullah Gharaibeh
d1ea49bcd9 breakdown PodSchedulingDuration by number of attempts 2020-07-01 17:34:07 -04:00
Wei Huang
7362fccdd7
Polish unit tests of defaultpreemptio plugin 2020-06-30 14:05:48 -07:00
Andrea Nodari
2e1042f959 Use NodeWrapper to directly initialize node with labels
Using NodeWrapper in the integration tests gives more flexibility when
creating nodes. For instance, tests can create nodes with labels or
with a specific sets of resources.

Also, NodeWrapper initialises a node with a capacity of 32 pods, which
can be overridden by the caller. This makes sure that a node is usable
as soon as it is created.
2020-06-30 17:18:15 +02:00
Kubernetes Prow Robot
1c658d2ae8
Merge pull request #92568 from satishbellapu/master
Typo of PercentageOfNodesToScore
2020-06-30 00:03:25 -07:00
Kubernetes Prow Robot
784b0738b5
Merge pull request #92578 from zhouya0/fix_preemt_comment
Fix scheduler preemt function comment
2020-06-29 18:35:27 -07:00
Kubernetes Prow Robot
281023790f
Merge pull request #92501 from rakeshreddybandi/rename-plugin
Rename DefaultPodTopologySpread plugin #91994
2020-06-29 18:34:58 -07:00
zhouya0
59f9a7d81e Fix preemt function comment 2020-06-28 18:29:55 +08:00
Kubernetes Prow Robot
4fc5c1eda2
Merge pull request #92391 from adtac/adtac/reserve-failure
scheduler: run Unreserve if Reserve fails
2020-06-27 16:04:14 -07:00
RAKESH REDDY BANDI
d44a20f9ca Rename DefaultPodTopologySpread plugin #91994 2020-06-27 13:46:31 -04:00
Kubernetes Prow Robot
ad29e168dc
Merge pull request #92108 from Huang-Wei/postfilter-impl-4
[postfilter-impl-4] Move Preempt() to defaultpreemption package.
2020-06-27 09:02:15 -07:00
satishbellapu
f92072b60b Typo of PercentageOfNodesToScore
Corrected typos PercentageOfNodeToScore -> PercentageOfNodesToScore
2020-06-27 02:33:19 -07:00
Adhityaa Chandrasekar
1b223b861a scheduler: run Unreserve if Reserve fails
If a reserve plugin's Reserve method returns an error, there could be
previously allocated resources from successfully completed reserve
plugins that must be unallocated by the corresponding Unreserve
operation. Since Unreserve operations are idempotent, this patch runs
the Unreserve operation of ALL reserve plugins when a Reserve operation
fails.
2020-06-26 20:41:33 +00:00
Kubernetes Prow Robot
b3033da9a1
Merge pull request #92200 from adtac/adtac/reserve
scheduler: merge Reserve and Unreserve plugins
2020-06-25 19:57:31 -07: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
Adhityaa Chandrasekar
ec83143342 scheduler: merge Reserve and Unreserve plugins
Previously, separate interfaces were defined for Reserve and Unreserve
plugins. However, in nearly all cases, a plugin that allocates a
resource using Reserve will likely want to register itself for Unreserve
as well in order to free the allocated resource at the end of a failed
scheduling/binding cycle. Having separate plugins for Reserve and
Unreserve also adds unnecessary config toil. To that end, this patch
aims to merge the two plugins into a single interface called a
ReservePlugin that requires implementing both the Reserve and Unreserve
methods.
2020-06-24 21:10:35 +00: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
Kubernetes Prow Robot
c6d2b223fb
Merge pull request #92222 from cofyc/fix92186
Share pod volume binding cache via framework.CycleState
2020-06-24 13:31:21 -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
Kubernetes Prow Robot
67afc8ea3c
Merge pull request #91625 from pancernik/v1beta1-extender-encoding
Fix API encoding inconsistencies in KubeSchedulerConfig
2020-06-24 10:31:58 -07:00
Rafal Wicha
d7c84e11f5 Fix API encoding inconsistencies in KubeSchedulerConfig 2020-06-24 09:03:35 +01:00
Yecheng Fu
f899976b41 fixup 2020-06-24 14:14:03 +08: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
Yecheng Fu
22d874993c build files 2020-06-23 22:18:33 +08:00
Yecheng Fu
4627b419b4 tests only 2020-06-23 22:18:33 +08:00
Yecheng Fu
ee4d7410be Share pod volume binding cache via framework.CycleState 2020-06-23 22:18:33 +08:00
Dave Chen
e1d61b621a Scheduler: remove the misleading comments in NodeResourcesBalancedAllocation
Signed-off-by: Dave Chen dave.chen@arm.com
2020-06-23 17:33:02 +08:00
Kubernetes Prow Robot
83a15867b1
Merge pull request #92049 from Huang-Wei/postfilter-impl-3
[postfilter-impl-3] Register and enable the defaultpreemption plugin
2020-06-22 23:53:54 -07:00
Kubernetes Prow Robot
79a7088340
Merge pull request #92202 from alculquicondor/profile-metrics
Add profile label to schedule_attempts_total metric and e2e_scheduling_duration_seconds
2020-06-22 22:00:10 -07:00
Kubernetes Prow Robot
819ad44c90
Merge pull request #91603 from pancernik/v1beta1-requested-to-cap-ratio-encoding
Configure strict encoding for RequestedToCapacityRatioArgs
2020-06-22 21:59:41 -07:00
Wei Huang
d99cc01646
Register and enable defaultpreemption plugin
- Enable defaultpreemption as a PostFilter plugin
- Remote legacy hard-coded preemption logic
2020-06-22 17:22:27 -07:00
Aldo Culquicondor
eb9711dc1f Add profile label to schedule_attempts_total metric
and e2e_scheduling_duration_seconds

Also adding result label to e2e_scheduling_duration_seconds. Previously, the metric was only updated for successful attempts

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-06-22 15:19:57 -04:00
Ali Farah
a22e115a0e Split scheduler framework implementation into new runtime package 2020-06-22 00:23:43 +10:00
Kubernetes Prow Robot
5ed7b1afb8
Merge pull request #92012 from Huang-Wei/postfilter-impl-2
[postfilter-impl-2] Introduce a defaultpreemption PostFilter plugin
2020-06-19 21:51:42 -07:00
Kubernetes Prow Robot
9c3f648300
Merge pull request #91705 from mrkm4ntr/revert-assumed-in-unreserve
Revert assumed PVs and PVCs in unreserve extension point
2020-06-19 21:50:54 -07:00
Kubernetes Prow Robot
5968bc4653
Merge pull request #92247 from chendave/skiptopology
Skip `PreScore` when the `TopologySpreadConstraints` is specified
2020-06-19 11:37:44 -07: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
Shintaro Murakami
79ab958996 Revert assumed PVs and PVCs in unreserve extension point 2020-06-19 17:39:42 +09:00
Dave Chen
068c69d743 Skip PreScore when the TopologySpreadConstraints is specified
`DefaultPodTopologySpread` need't score when the `TopologySpreadConstraints`
is specified.

`PreScore` needn't do this as well, this cut off the cost of `PreScore` if
possible.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-06-18 18:01:56 +08:00
Dave Chen
9ebd872e71 Explicitly declare the interfaces for extension points
This make it easier to catch the issue during the compilation, also,
this also align with other plugins, i.e. plugin of "InterPodAffinity".

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-06-17 15:11:44 +08:00
Kubernetes Prow Robot
42cb4d5510
Merge pull request #92130 from chendave/InterPodAffinity_cleanup
cleanup: remove invalid comments in plugin of InterPodAffinity
2020-06-16 19:24:02 -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
Dave Chen
8f0c329758 cleanup: update invalid comments in plugin of InterPodAffinity
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-06-16 14:11:59 +08: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
1385280afc
Merge pull request #91775 from cofyc/fix91755
VolumeBinding: Skip/fail fast in PreFilter phase and improve error reporting
2020-06-12 10:47:56 -07:00
Rafal Wicha
707e1eb512 Configure strict encoding for RequestedToCapacityRatioArgs 2020-06-12 14:55:32 +01:00
Kubernetes Prow Robot
b8f24173da
Merge pull request #91874 from gaurav1086/TestSchedulingQueue_Close_fix_race_condition
TestSchedulingQueue: Remove the unnecessary slice and for loop
2020-06-11 23:45:55 -07:00
Yecheng Fu
814a6f2acd remove FakeVolumeBinderConfig and test new statues and states 2020-06-12 10:00:19 +08:00
Yecheng Fu
c4138361e4 Fail fast in PreFilter phase and return UnschedulableAndUnresolvable if immediate PVCs are not bound 2020-06-12 10:00:19 +08:00
Gaurav Singh
00f28747b3 TestSchedulingQueue_Close: Remove struct tests and the corresponding for loop
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

TestSchedulingQueue_Close: Remove for loop

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

remove the tests slice

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

Remove struct

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

Remove t.Run()

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

Add function name

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

Remove nested function

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

Replace expectedErr with wantErr

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
2020-06-11 11:19:14 -04:00
Kubernetes Prow Robot
6bb7e8ab83
Merge pull request #92010 from Huang-Wei/sched-fwk-expose-EventRecorder
Expose EventRecorder to scheduler FrameworkHandle
2020-06-10 22:44:12 -07:00
Kubernetes Prow Robot
5372e017b6
Merge pull request #92003 from mattcary/format-plugins
Remove warning about misuse of %w
2020-06-10 22:44:02 -07:00
Kubernetes Prow Robot
34e19b0623
Merge pull request #91679 from tanjunchen/update-logging-20200602
Migrate to log calls to  klog.ErroS for pkg/scheduler
2020-06-10 22:43:10 -07:00
Wei Huang
7dfabd7af6
Expose EventRecorder to scheduler FrameworkHandle 2020-06-10 18:27:21 -07:00
Kubernetes Prow Robot
17630c34cf
Merge pull request #91793 from alculquicondor/new-default-spread
Use PodTopologySpread for default spreading
2020-06-10 17:13:38 -07:00
Matthew Cary
ee9e6a3bcc Remove warning about misuse of %w 2020-06-10 14:58:55 -07:00
Kubernetes Prow Robot
418c2cbb45
Merge pull request #91918 from alculquicondor/new_max_skew
Use maxSkew in PodTopologySpread scoring as tolerance to skew
2020-06-10 04:40:21 -07:00
Wen Gao
b21b298074 add arg for noderesourcesfit plugin to support ignore a group of extended resources 2020-06-10 10:52:54 +08:00
tanjunchen
7fe9f3451f Migrate to log calls to klog.ErroS for pkg/scheduler 2020-06-09 18:39:58 -07:00
Wei Huang
51a9dcce22
Revert "Fix an issue that a Pod's nominatedNodeName cannot be cleared when the nominated node is deleted"
This reverts commit 369a9001c6.
2020-06-09 16:47:37 -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
Aldo Culquicondor
170f81cff3 Use PodTopologySpread for default spreading
Under the feature gate DefaultPodTopologySpread, which will disable the legacy DefaultPodTopologySpread plugin from the default algorithm providers.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-06-09 14:59:42 -04:00
Kubernetes Prow Robot
1cbb5d1e51
Merge pull request #91894 from chendave/podaffinity_comments
Fix the incorrect error message of `InterPodAffinity` plugin
2020-06-08 21:44:45 -07:00
Kubernetes Prow Robot
5248bef370
Merge pull request #91750 from Huang-Wei/clear-nnn
Fix an issue that a Pod's nominatedNodeName cannot be cleared upon node deletion
2020-06-08 21:43:58 -07:00
Kubernetes Prow Robot
de1a277185
Merge pull request #91735 from gpldirk/tps-comment
fix minor comment in podtopologyspread scoring test
2020-06-08 21:43:48 -07:00
Aldo Culquicondor
d353cc1532 Use maxSkew in PodTopologySpread scoring as tolerance to skew
This new approach results in better spreading for small number of pods, while still giving meaning to the maxSkew parameter.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-06-08 16:25:59 -04:00
SataQiu
932e61aefa deprecate ResourceLimitsPriorityFunction feature gate in the scheduler
Signed-off-by: SataQiu <1527062125@qq.com>
2020-06-08 22:20:14 +08:00
Dave Chen
02fb3387a0 Fix the incorrect error message of InterPodAffinity plugin
A line of copy/paste code firstly from the method named `buildTopologyPairToScore`.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-06-08 16:39:19 +08:00
Kubernetes Prow Robot
82d27aa030
Merge pull request #91832 from ahg-g/ahg-over
Remove log message causing significant overhead on Preemption evaluation
2020-06-06 07:13:45 -07:00
Abdullah Gharaibeh
8bf30530e8 Remove unnecessary log message causing significant overhead on preemption evaluation 2020-06-05 16:50:25 -04:00
Wei Huang
69b9ba6012
Introduce PostFilter extension point 2020-06-05 13:23:45 -07:00
Kubernetes Prow Robot
4e3dea81c1
Merge pull request #91580 from cofyc/fix90958
Remove KubeSchedulerConfiguration.BindTimeoutSeconds
2020-06-05 08:45:45 -07:00
Wei Huang
7f178b2831
Adjust weight of PodTopologySpread to 2 in legacy Policy API 2020-06-04 07:35:25 -07:00
Wei Huang
369a9001c6
Fix an issue that a Pod's nominatedNodeName cannot be cleared when the nominated node is deleted 2020-06-03 17:45:06 -07:00
gpldirk
6a26f76add fix minor comment in podtopologyspread scoring test 2020-06-03 16:03:10 +00:00
Yecheng Fu
1ff09c0934 Remove BindTimeoutSeconds from KubeSchedulerConfiguration 2020-06-03 09:54:06 +08:00
skilxn-go
fe9d9ebce1 Fix pick-node strategy when there is no filter plugin 2020-06-03 09:12:44 +08:00
Wei Huang
133dde6358
Remove EvenPodsSpread featuregate and related logic 2020-06-02 11:24:12 -07:00
Yecheng Fu
367f75e203 auto-generated files 2020-06-01 09:42:38 +08:00
Kubernetes Prow Robot
413bc1a1d2
Merge pull request #91138 from chendave/imagelocality
Define the thresholds per the size of container images
2020-05-31 16:17:53 -07:00
Dave Chen
42fbb1d72f Define the thresholds per the size of container images
Given the assumption that 90% of images on dockerhub drops into this range (23~1000)MB,
this assumption is based on the container images instead of the pod.

pod might hold multiple container images, it's better to multiply the assumption by the size
of container images.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-30 20:57:50 +08:00
Wei Huang
8478c19a7f
autogen: PostFilter 2020-05-29 18:18:00 -07:00
Wei Huang
1837b49554
Scheduler PostFilter API 2020-05-29 18:18:00 -07:00
Kubernetes Prow Robot
081f97aa2b
Merge pull request #91535 from ahg-g/ahg-merge-updates
Merge pod condition update with setting nominated node name
2020-05-29 08:05:16 -07:00
Dave Chen
649523ce91 cleanup: remove useless methods
`BuildArgs` is not used anywhere and the `args` can be directly got from
the instance instead of defining a method to do that.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-29 10:41:54 +08:00
Abdullah Gharaibeh
27caa6e727 merge pod condition update with setting nominated node name in the scheduler 2020-05-28 20:11:16 -04:00
Kubernetes Prow Robot
472a4e9ce2
Merge pull request #91448 from RainbowMango/pr_fix_metric_naming
update metrics to conform promlint
2020-05-28 16:38:02 -07:00
Kubernetes Prow Robot
c682b313d9
Merge pull request #91420 from pancernik/scheduler-config-v1beta1
Promote kubescheduler.config.k8s.io to v1betav1
2020-05-28 12:24:39 -07:00
Kubernetes Prow Robot
73641d35c7
Merge pull request #91451 from gaurav1086/scheduler_test_fix_goroutine_leak
scheduler_test: fix goroutine leak
2020-05-26 21:09:03 -07:00
Kubernetes Prow Robot
b0e0692490
Merge pull request #91446 from pancernik/scheduler-plugin-args-validation-nr
Move Node Resources scheduler plugin args validation to apis/config/validation
2020-05-26 19:13:18 -07:00
Kubernetes Prow Robot
5217fa2299
Merge pull request #91462 from lo24/fwk-typo
fix typo in scheduler framework
2020-05-26 16:49:05 -07:00
Rafal Wicha
3ffd71c4a2 Move Node Resources scheduler plugin args validation to apis/config/validation 2020-05-26 22:37:16 +01:00
Gaurav Singh
a4e5629320 scheduler_test: fix goroutine leak
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>

Re-use errchan from setupTestSchedulerWithOnePodOnNode

Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
2020-05-26 17:33:10 -04: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
lo24
4caae61f03 fix typo in scheduler framework 2020-05-26 16:00:22 +00:00
RainbowMango
4d8280acca rename metric scheduler_total_preemption_attempts to scheduler_preemption_attempts_total as counter metrics should have _total suffix. 2020-05-26 20:11:42 +08:00
Rafal Wicha
852442c0ff Promote kubescheduler.config.k8s.io to v1betav1 2020-05-25 22:25:57 +01:00
Kubernetes Prow Robot
7a30cf8046
Merge pull request #91241 from pancernik/scheduler-plugin-args-validation
Move Scheduler plugin args validation to apis/config/validation
2020-05-25 13:43:11 -07:00
Kubernetes Prow Robot
c5aa1eddcc
Merge pull request #91406 from zhouya0/fix_scheduler_prefilter_doc
Fix scheduler prefilter comment
2020-05-25 11:43:11 -07:00
Rafal Wicha
85be9c1673 Move Scheduler plugin args validation to apis/config/validation 2020-05-25 16:27:21 +01:00
zhouya0
dabd00ca4c Fix scheduler prefilter comment 2020-05-25 17:45:44 +08:00
Dave Chen
84915d1623 Expose the issue that max threshold haven't considered container size
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-25 17:31:47 +08:00
Yecheng Fu
8bbbe62fbd Add versioned counterparts for VolumeBindingArgs: auto-generted files 2020-05-22 09:30:53 +08:00
Yecheng Fu
0a3d55f2e0 Add versioned counterparts for VolumeBindingArgs 2020-05-22 09:30:52 +08:00
Kubernetes Prow Robot
d871ab9690
Merge pull request #91278 from chendave/testcase
scheduler: Expand testcases to cover more plugin defaults
2020-05-20 19:41:39 -07:00
Kubernetes Prow Robot
f7a6e9e2f1
Merge pull request #91175 from Huang-Wei/volume-binding-leftover
Cleanup volume binding leftover
2020-05-20 19:41:10 -07: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
b6d5a3328a
cleanup volume binding leftover 2020-05-20 10:30:22 -07:00
Kubernetes Prow Robot
7ba332a839
Merge pull request #91258 from alculquicondor/double_spread_weight
Set weight of PodTopologySpread Score to 2
2020-05-19 23:40:42 -07:00
Dave Chen
c74a5d4fe2 scheduler: Expand testcases to cover more plugin defaults
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-20 12:37:06 +08:00
Kubernetes Prow Robot
4310732c55
Merge pull request #91102 from chendave/capacity_ratio
Move `RequestedToCapacityRatio` Args defaults to versioned packages
2020-05-19 20:35:20 -07:00
Kubernetes Prow Robot
a3feccc965
Merge pull request #90201 from KobayashiD27/addTestCaseInSchedulerProfile
Add test case in scheduler/profile/profile_test.go
2020-05-19 20:34:18 -07:00
Kubernetes Prow Robot
4b9b9ab753
Merge pull request #91252 from alculquicondor/fix-reschedule
Skip Pod Conditions from scheduling queue updates
2020-05-19 16:32:51 -07:00
Kubernetes Prow Robot
0746f165bd
Merge pull request #91229 from ahg-g/ahg-affinity3
Eliminate locking in (anti)affinity calculations
2020-05-19 16:32:42 -07:00
Aldo Culquicondor
9819b25a44 Set weight of PodTopologySpread Score to 2
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-19 12:08:38 -04:00
Aldo Culquicondor
da6fcfaf74 Skip Pod Conditions from scheduling queue updates
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-19 10:59:10 -04:00
Kubernetes Prow Robot
2185064307
Merge pull request #90356 from Huang-Wei/prefactor-preemption-nompods-interface
Extract logic related with scheduler nominatedPods to an interface
2020-05-18 20:03:36 -07:00
Abdullah Gharaibeh
4ff554ba83 Eliminate locking in (anti)affinity calculations 2020-05-18 22:37:37 -04:00
Kobayashi Daisuke
673a22eae8 Add test case in scheduler/profile/profile_test.go
to improve the test coverage: check invalid configs
2020-05-19 10:27:37 +09:00
Kubernetes Prow Robot
9eb097c4b0
Merge pull request #91168 from ahg-g/ahg-affinity5
First pod with affinity can schedule only on nodes with matching topology keys
2020-05-18 16:29:51 -07:00
Abdullah Gharaibeh
5d2c05408d First pod with affinity can schedule only on nodes with matching topology keys 2020-05-18 15:15:09 -04: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
Dave Chen
838a0a8c03 Move RequestedToCapacityRatio Args defaults to versioned packages
Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-18 14:19:39 +08:00
Kubernetes Prow Robot
d4ce66fe0b
Merge pull request #90660 from Huang-Wei/synced-sched-err-call
Move unschedulable Pod to internal schedulingQ synchronously
2020-05-16 19:00:06 -07:00
Kubernetes Prow Robot
b170451caa
Merge pull request #90183 from dims/update-kubernetes-to-klog-v2
Update kubernetes to klog v2
2020-05-16 18:59:51 -07:00
Kubernetes Prow Robot
7f0c05b909
Merge pull request #90544 from chendave/weight
configurable weight on the CPU and memory
2020-05-16 07:36:30 -07:00
Kubernetes Prow Robot
9769e0f5da
Merge pull request #90008 from gavinfish/scheduler-utilparsers
Scheduler: remove direct import to /pkg/util/parsers
2020-05-16 07:35:49 -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
Kubernetes Prow Robot
52ae8b1ebb
Merge pull request #91099 from snowplayfire/skip_unnecessary_scheduling
skip unnecessary scheduling attempt when pod has its Finalizers updated
2020-05-15 23:02:22 -07:00
Kubernetes Prow Robot
65f2803c68
Merge pull request #91084 from ahg-g/ahg-affinity2
Added pre-processed preferred affinity terms to scheduler's PodInfo type
2020-05-15 23:02:03 -07:00
Kubernetes Prow Robot
738e557f2c
Merge pull request #91083 from KobayashiD27/Add-test-to-scheduler-apis-config-types-test
Add test case in scheduler/apis/config/types_test.go to improve the t…
2020-05-15 23:01:49 -07:00
Wei Huang
133a02540f
Move unschedulable Pod to internal schedulingQ synchronously
- use in-cache Pod instead of real-time Pod (by calling API server) to mark it as unschedulable
  in internal schedulingQ
- remove the backoff logic as now we don't call API server
- the whole logic is changed to a synchronous call
2020-05-15 19:27:28 -07:00
Wei Huang
1b30105dac
Fix scheduler cache inconsistency upon Pods with same name but different UIDs
Co-authored-by: Wei Huang <wei.huang1@ibm.com>
Co-authored-by: tianxia52 <871883758@qq.com>
2020-05-15 11:41:54 -07:00
Dave Chen
621c73b984 Configurable weight on the CPU and memory
This change also make it possible to score the resources beyond the "cpu"
and "memory" which is currently listed in "defaultRequestedRatioResources".

Signed-off-by: Dave Chen <dave.chen@arm.com>
2020-05-15 22:26:30 +08:00
Abdullah Gharaibeh
087839daf7 Added pre-processed preferred affinity terms to scheduler's PodInfo type. 2020-05-15 09:00:56 -04:00
jingxueli
b95191fe10 add test for finalizers 2020-05-15 18:57:09 +08:00
Kubernetes Prow Robot
71277de4d6
Merge pull request #91069 from alculquicondor/bind_ctx
Use passed context in default binder
2020-05-15 02:49:28 -07:00
Kubernetes Prow Robot
c453be845a
Merge pull request #91062 from ahg-g/ahg-affinity1
Added pre-processed required affinity terms to scheduler's PodInfo type.
2020-05-15 02:49:07 -07:00
Kubernetes Prow Robot
57b79e3fb4
Merge pull request #91037 from Huang-Wei/prefactor-PreemptExtender
Refactor preemption extender logic and move SchedulerExtender interface to framework pkg
2020-05-15 02:48:30 -07:00
Kubernetes Prow Robot
95e598586e
Merge pull request #91016 from chendave/nits
Fix nits in comments for NodeResources plugins
2020-05-15 02:48:02 -07:00
Brian Pursley
9eb8e7a6d6 Changed scheduler to use patch when updating pod status to avoid potential conflicts 2020-05-14 15:17:53 -04:00
Kubernetes Prow Robot
5bda0c1b3b
Merge pull request #83726 from cofyc/fix56180
scheduler: Move all volume binding code into VolumeBinding plugin
2020-05-14 10:08:23 -07:00
Abdullah Gharaibeh
5e0211c72d Added pre-processed required affinity terms to scheduler's PodInfo type. 2020-05-14 10:30:42 -04:00
Dave Chen
6b9fb2c591 Fix nits in comments for NodeResources plugins 2020-05-14 18:45:59 +08:00
jingxueli
b1143da370 skip unnecessary scheduling attempt when pod's finalizers change 2020-05-14 15:43:54 +08:00
Kobayashi Daisuke
96690673c4 Add test case in scheduler/apis/config/types_test.go to improve the test coverage. 2020-05-14 11:24:27 +09:00
Kubernetes Prow Robot
40b0f4f6cb
Merge pull request #90565 from alculquicondor/cleanup-sched-config
Remove wrapper around base LeaderElectionConfiguration
2020-05-13 15:59:05 -07: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
Aldo Culquicondor
78fca663ce Use passed context in default binder
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-13 11:36:14 -04:00
Yecheng Fu
85a8740d9b scheduler/volumebinding: auto-generated files only 2020-05-12 10:13:06 +08:00
Yecheng Fu
c14b749521 scheduler/volumebinding: move all volume binding logic into VolumeBinding plugin 2020-05-12 10:13:05 +08:00
Abdullah Gharaibeh
c3be8feee6 count no nodes scheduling failure as unschedulable instead of error 2020-05-11 14:07:52 -04:00
Kubernetes Prow Robot
a3cf6fc0aa
Merge pull request #90915 from Huang-Wei/remove-enableNonPreempting
Remove `enableNonPreempting` field from scheduler codebase
2020-05-08 20:45:51 -07:00
Wei Huang
e283e73994
Remove enableNonPreempting field from scheduler codebase 2020-05-08 19:02:51 -07:00
Kubernetes Prow Robot
e6e29fbbc3
Merge pull request #90820 from alculquicondor/score-max-skew
Use maxSkew in score calculation
2020-05-08 18:28:19 -07:00
Aldo Culquicondor
516c8fbfad Use maxSkew in score calculation
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-08 09:34:45 -04:00
Kubernetes Prow Robot
90f7ae54ac
Merge pull request #90657 from alculquicondor/default-plugin-args
Move Plugin Args defaults to versioned packages
2020-05-08 02:03:42 -07:00
Aldo Culquicondor
2935480cc8 Move Plugin Args defaults to versioned packages
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-06 18:00:23 -04:00
Wei Huang
8c2a540cdc
Refine schedulerQueue test to avoid unneeded locks
- revert PR 88331
- remove createAndRunPriorityQueue()
- PriorityQueue is created and not run by default
- flushXYZ() is called on demand by manipulating FakeClock and Step()
2020-05-05 00:11:04 -07:00
Kubernetes Prow Robot
594cbdfd19
Merge pull request #89508 from KobayashiD27/test-coverage-up
Add test case to improve the test coverage.
2020-05-01 13:00:31 -07:00
Kubernetes Prow Robot
26ad2c2a47
Merge pull request #90613 from Huang-Wei/cleanup-comments
cleanup: remove stale comments
2020-05-01 00:42:03 -07:00
Kubernetes Prow Robot
ba43630708
Merge pull request #90475 from alculquicondor/topology-scoring
Topology spreading scoring with automatically weighted topologies
2020-05-01 00:40:04 -07:00
Kubernetes Prow Robot
8dd93ca94c
Merge pull request #90309 from alculquicondor/plugin-args-decoding
Use internal config types in scheduling plugin args
2020-04-30 05:32:18 -07:00
Kubernetes Prow Robot
863ce9726e
Merge pull request #90295 from tanjunchen/pkg/scheduler/framework/plugins/-20200420
pkg/scheduler/framework/plugins/:fix unconsistent comments and make log more clear
2020-04-29 18:30:18 -07:00
Aldo Culquicondor
98d1e241f1 Use internal config types in scheduling plugin args
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-29 17:07:10 -04:00
Aldo Culquicondor
6b153dc920 Add decoding of nested scheduling plugin configs
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-29 17:06:58 -04:00
Wei Huang
79963ac8fb
cleanup: remove stale comments 2020-04-29 13:51:25 -07:00
Aldo Culquicondor
1aaa5fcc80 Topology scoring with dynamically weighted topologies
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-29 09:55:52 -04:00
Kubernetes Prow Robot
4099ad6e0d
Merge pull request #90542 from lixiang233/master
There's no need to set moveRequestCycle and do broadcast twice.
2020-04-28 12:58:25 -07:00
Aldo Culquicondor
29f5adee7f Remove wrapper around base LeaderElectionConfiguration
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-28 15:44:35 -04:00
Kubernetes Prow Robot
fabe9cddf1
Merge pull request #90467 from Huang-Wei/honor-runAllFilters
Simplify status handling of scheduler RunFilterPlugins
2020-04-27 22:26:43 -07:00
Aldo Culquicondor
a9461fe6f5 spreading: Store ignored instead of qualifying nodes
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-27 13:18:34 -04:00
lixiang
5844bc3b9f There's no need to set moveRequestCycle and do broadcast twice. 2020-04-28 00:43:58 +08:00
drfish
0b715ea690 Scheduler: remove direct import to /pkg/util/parsers 2020-04-26 23:41:52 +08:00
Wei Huang
92ba2a4e09
Simplify status handling of scheduler RunFilterPlugins 2020-04-24 12:16:42 -07:00
Kubernetes Prow Robot
277f7614ea
Merge pull request #90203 from tanjunchen/remove-repeat-test-sche
/pkg/scheduler/framework/plugins/ : remove the repeat test example and add an test example
2020-04-24 12:15:20 -07:00
tanjunchen
0e38ba0ef6 pkg/scheduler/framework/:fix unconsistent comments and make log more clear 2020-04-24 11:17:11 +08:00
Kubernetes Prow Robot
b850b5ce2e
Merge pull request #89222 from fengzixu/master
bugfix: initcontainer is also taken into account when calculating resource requests
2020-04-23 00:45:44 -07:00
Kubernetes Prow Robot
29e4e66b59
Merge pull request #90371 from ahg-g/ahg-pinfo
Deprecate scheduler's PodLister interface
2020-04-22 23:09:58 -07:00
Kubernetes Prow Robot
6107b140ae
Merge pull request #90373 from fabiokung/updated-annotations-during-bind
kube-scheduler: compatibility with ServerSideApply
2020-04-22 17:03:09 -07:00
Abdullah Gharaibeh
57585640e8 change scheduler's framework PodLister to PodInfoLister 2020-04-22 19:25:27 -04:00
Kubernetes Prow Robot
9066ee9906
Merge pull request #90330 from cwdsuzhou/April/log_level
Increase log level to avoid print binding messages in framework too frequently
2020-04-22 14:03:46 -07:00
Fabio Kung
d341a5b9d3 kube-scheduler: compatibility with ServerSideApply
avoid moving Pods that have been assumed back to the scheduling queue in
case they have annotations modified with ServerSideApply, which causes
Pod.ObjectMeta.ManagedFields to be modified automatically
2020-04-22 12:02:40 -07:00
fengzixu
d54822d193 bugfix: initcontainer wasn't considered when calculate resource request 2020-04-23 02:08:33 +09:00
caiweidong
171a242e1e Increase log level to avoid print binding messages in framework too frequently 2020-04-22 11:37:35 +08:00
Abdullah Gharaibeh
a151682887 Split scheduler's PodInfo into two types, PodInfo and PodQueueInfo 2020-04-21 21:45:20 -04:00
Gaurav Singh
31afb24244 [Scheduler] Map deletion complexity: log(n) => O(1) 2020-04-19 11:31:55 -04:00
tanjunchen
6180d701cc /pkg/scheduler/framework/plugins/ : remove the repeat test example and add an test example 2020-04-17 09:24:45 +08:00
Rafal Wicha
b511fa8627 Add PodTopologySpread plugin arg types to kube-scheduler.config.k8s.io 2020-04-16 16:26:27 +01: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
Kubernetes Prow Robot
d0183703cb
Merge pull request #90059 from ahg-g/ahg-nodeinfo2
Cleanup obsolete NodeInfo methods
2020-04-14 17:32:04 -07:00
Kubernetes Prow Robot
303a6c7e34
Merge pull request #89996 from KobayashiD27/addTestCaseInSchedulerUtil
Add test case in scheduler/util/non_zero_test.go
2020-04-14 12:34:17 -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
Kubernetes Prow Robot
fca197c748
Merge pull request #90041 from tanjunchen/sche-remove-dependency-001
Scheduler:remove direct dependency for pkg/api/testing
2020-04-13 20:01:11 -07:00
Abdullah Gharaibeh
bed9b2f23b Cleanup obsolete NodeInfo methods 2020-04-12 18:13:46 -04:00
Kubernetes Prow Robot
ee6b88ddf9
Merge pull request #90000 from SataQiu/staging-scheduler-20200409
scheduler: remove direct import to pkg/master/ports
2020-04-11 10:46:01 -07:00
Kubernetes Prow Robot
de5508839d
Merge pull request #90037 from angao/redundant
remove redundant code
2020-04-11 03:29:47 -07:00
SataQiu
41d3e44a2f scheduler: remove direct import to pkg/master/ports
Signed-off-by: SataQiu <1527062125@qq.com>
2020-04-11 13:56:53 +08:00
tanjunchen
5ab543500b Scheduler:remove direct dependency for pkg/api/testing 2020-04-11 13:16:06 +08:00
Wen Gao
65b43e5d10 remove redundant code 2020-04-10 10:59:30 +08:00
Abdullah Gharaibeh
2c51c13620 Scheduler NodeInfo cleanup 2020-04-09 19:03:51 -04:00
Kubernetes Prow Robot
0c9245a29f
Merge pull request #89974 from ahg-g/ahg-info
scheduler's NodeInfo tracks PodInfos instead of Pods
2020-04-09 09:19:58 -07:00
Kobayashi Daisuke
e16c4f22dd Add test case in scheduler/util/non_zero_test.go to improve the test coverage. 2020-04-09 17:42:43 +09:00
Abdullah Gharaibeh
b8ddd00312 scheduler's NodeInfo tracks PodInfos instead of Pods 2020-04-08 17:53:20 -04:00
Rafał Wicha
c4d20ca8a8 Add types for Scheduler plugin args to kube-scheduler.config.k8s.io 2020-04-08 20:23:56 +01:00
Kubernetes Prow Robot
0926c9c476
Merge pull request #89131 from cwdsuzhou/March/expose_scheduler_metric
Expose scheduler metric to make it possible for plugins to use it
2020-04-08 04:25:43 -07:00
Kubernetes Prow Robot
1edbfe1745
Merge pull request #89908 from alculquicondor/fix_cache
Skip updating scheduler cache on pod update if the node was deleted
2020-04-07 16:46:06 -07:00
Aldo Culquicondor
e75b5dcfe4 Skip updating cache on pod update if the node was deleted
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-04-07 13:24:42 -04:00
Abdullah Gharaibeh
a5d8172715 move nodeinfo type to framework pkg 2020-04-07 10:25:24 -04:00
caiweidong
bbaa76c8f5 Expose scheduler metric register function to make it possible for plugins to use it 2020-04-07 19:07:30 +08:00
Harsh Singh
015d06bf41 Internal channels for scheduler 2020-04-04 02:30:16 +05:30
Kubernetes Prow Robot
dd35908c7f
Merge pull request #89298 from gavinfish/scheuler-config-alph1
Remove kubescheduler.config.k8s.io/v1alpha1
2020-04-02 21:39:59 -07:00
Abdullah Gharaibeh
ed3fe054df move scheduler nodeinfo to pkg/scheduler/types 2020-03-31 21:02:09 -04:00
Aldo Culquicondor
93fc02cf54 Set initial map size
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-31 15:48:34 -04:00
Aldo Culquicondor
65d9f81758 Replace lock with atomic updates in spreading filter
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-31 15:48:32 -04:00
Aldo Culquicondor
275da7afc0 Benchmark for topology spreading filter
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-31 15:12:22 -04:00
Kubernetes Prow Robot
59c66dab8c
Merge pull request #89487 from alculquicondor/per_node_spreading
Optimize preferred spreading for hostname topology
2020-03-30 08:21:54 -07:00
Aldo Culquicondor
d2b1903149 Calculate scores in parallel on spreading benchmarks
This is closer to what happens in the core scheduler

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-26 15:33:50 -04:00
Kubernetes Prow Robot
57144b38eb
Merge pull request #89463 from fxmumu/feature-scheduler-err-handler
Remove nested if statement and test it
2020-03-26 11:14:17 -07:00
Kubernetes Prow Robot
894916b665
Merge pull request #89459 from chendave/scorer_desc
Trival fix: update the desc on the score plugins
2020-03-26 07:56:39 -07:00
Kobayashi Daisuke
9d6235c54e Add test case to improve the test coverage. 2020-03-26 17:34:38 +09:00
Wei Huang
06f48a988f
Print detailed score results on verbose level 10 2020-03-25 10:46:28 -07:00
Aldo Culquicondor
4b31b55499 Count spreading node matches for hostname topology in Score 2020-03-25 13:29:27 -04:00
fxmumu
8beb2439a0 Remove nested if statement and test it
Remove nested if statement in scheduler err handler.
Test scheduler err that node not found.
2020-03-26 00:29:41 +08:00
Kubernetes Prow Robot
d00f9c7c10
Merge pull request #89338 from skilxn-go/AddCompatibilityTestForPluginArgs
Add compatibility tests for plugin arguments
2020-03-25 08:49:03 -07:00
Dave Chen
4ab7be43ce Trival fix: update the desc on the score plugins
For whatever the reason, the max score has been updated from "10"
to "100"
2020-03-25 12:09:09 +08:00
Kubernetes Prow Robot
c58a3757cb
Merge pull request #89365 from notpad/feature/zone_label_ga
Add check for volume zone GA labels
2020-03-24 15:27:34 -07:00
Aldo Culquicondor
e902e70d0d Use sqrt(n) chunk size in pod affinity and core scheduler 2020-03-24 10:29:59 -04:00
Aldo Culquicondor
36efa035e2 Add chunk size option to ParallelizeUntil
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-24 10:29:59 -04:00
skilxn-go
e0adb0ead9 Add compatibility tests for plugin config 2020-03-24 22:17:16 +08:00
notpad
98405a8bd9 Add check for volume zone GA labels 2020-03-24 21:11:25 +08: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
gavinfish
1865a104a9 Remove kubescheduler.config.k8s.io/v1alpha1 2020-03-21 15:11:48 +08:00
Kubernetes Prow Robot
4319ab214f
Merge pull request #89219 from chendave/misspelling
Trival fix: update the description on the pod preemption
2020-03-20 17:58:44 -07:00
Kubernetes Prow Robot
fe2fdcd695
Merge pull request #89162 from alculquicondor/affinity-less-lock
Reduce locking when calculating affinity scores
2020-03-19 15:04:35 -07:00
Kubernetes Prow Robot
abe4dea072
Merge pull request #89149 from notpad/fix_comment
Fix comments
2020-03-19 08:27:23 -07:00
Dave Chen
a9d82e7c2a Trival fix: update the description on the pod preemption
`pod` has the field of `NominatedNodeName` which is different
with `NominatedPod`.
2020-03-18 18:23:36 +08:00
Kubernetes Prow Robot
ad2a1054b0
Merge pull request #88717 from mosesyou/dev-boris
Add unit test TestListPlugins for the scheduler
2020-03-17 16:21:55 -07:00
Aldo Culquicondor
d0dc178ab8 Reduce locking when calculating affinity scores
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-17 15:46:01 -04:00
notpad
a043bc438d Fix comments 2020-03-16 11:58:27 +08:00
Aldo Culquicondor
4d6af4d8d8 Set unschedulable Condition after setting nominated Node
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-13 11:02:19 -04:00
mosesyou
d874275fb7 Add unit test TestListPlugins for the scheduler 2020-03-09 15:33:42 +08:00
Jordan Liggitt
d8abacba40 client-go: update expansions callers 2020-03-06 16:50:41 -05:00
Kubernetes Prow Robot
5708511499
Merge pull request #88708 from mikedanese/deleteopts
Migrate clientset metav1.DeleteOpts to pass-by-value
2020-03-05 23:09:23 -08:00
Kubernetes Prow Robot
b0f793a94c
Merge pull request #88870 from alculquicondor/disallow_dup_plugin_config
Disallow duplicate PluginConfig in framework creation
2020-03-05 21:40:15 -08:00
Kubernetes Prow Robot
1302f343b1
Merge pull request #88864 from alculquicondor/one_config
Disallow use of Plugin or PluginConfig when using Policy
2020-03-05 21:39:57 -08:00
Mike Danese
c58e69ec79 automated refactor 2020-03-05 14:59:46 -08:00
Mike Dame
1d7006c38d Add Extenders to scheduler v1alpha2 component config 2020-03-05 16:42:15 -05:00
Aldo Culquicondor
1fab27502b Disallow use of Plugin or PluginConfig when using Policy
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-05 15:05:26 -05:00
Aldo Culquicondor
13fa48e592 Disallow duplicate PluginConfig in framework creation
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-05 14:51:41 -05:00
Kubernetes Prow Robot
c51ad0cb61
Merge pull request #88735 from pancernik/plugin-args-api-improvements
Improve plugin args JSON tags
2020-03-02 14:51:06 -08:00
Aldo Culquicondor
73ad38593a Add default constraints to PodTopologySpread
And update benchmark for even pod spreading to use default constraints

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-02 13:50:21 -05:00
Rafal Wicha
09598d48f6 Improve plugin args JSON tags 2020-03-02 15:20:44 +00:00
louisgong
c6b94e4606 refactor volume binder 2020-02-29 12:03:39 +08:00
Kubernetes Prow Robot
901a884c71
Merge pull request #88338 from egernst/PodOverhead-beta
Upgrade PodOverhead to beta
2020-02-28 15:12:40 -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
Eric Ernst
991909fdfb PodOverhead: remove feature gate override in tests
PodOverhead is now a beta feature and set to true by default. No need to
override to true during testing.

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
2020-02-27 17:27:06 +00:00
Mike Dame
18ffaf5608 Move scheduler extender API V1 to staging k8s.io/kube-scheduler 2020-02-27 12:10:59 -05:00
Kubernetes Prow Robot
09edbcdeb5
Merge pull request #87999 from damemi/deprecate-algo-source
Deprecate scheduler AlgorithmSource from v1alpha2 ComponentConfig
2020-02-27 00:15:19 -08:00
Kubernetes Prow Robot
48a4da8a19
Merge pull request #88589 from alculquicondor/cleanup/spread
Test PodTopologySpread.{PreFilter,PreScore} instead of internal pre-processing
2020-02-26 19:40:11 -08:00
Kubernetes Prow Robot
1deac1e466
Merge pull request #88526 from alculquicondor/multiprofiles-test
Add unit and integration tests for running multiple scheduling profiles
2020-02-26 13:33:49 -08:00
Kubernetes Prow Robot
a726c9c9cb
Merge pull request #88435 from andrewsykim/ccm-clean-up
move well known cloud provider taints to k8s.io/cloud-provider/api
2020-02-26 13:33:41 -08:00
Aldo Culquicondor
fd5b298c50 Test PodTopologySpread.PreScore instead of internal pre-processing.
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-26 16:25:01 -05:00
Aldo Culquicondor
0e46803e77 Test PodTopologySpread.PreFilter instead of internal pre-processing.
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-26 16:17:17 -05:00
skilxn-go
e8245d6fd9 Add unit test for framework plugin configuration 2020-02-26 23:57:07 +08:00
Aldo Culquicondor
07c4982245 Add unit and integration tests for multiple profiles support
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-26 10:14:03 -05:00
Kubernetes Prow Robot
44cccbde50
Merge pull request #88466 from notpad/feature/clean
Remove alpha feature test for EvenPodsSpread
2020-02-25 18:32:39 -08:00
Mike Dame
7e1ec59fe2 Remove AlgorithmSource from v1alpha2
This commit removes AlgorithmSource from the v1alpha2 scheduler ComponentConfig api.
It also creates the necessary manual conversion functions and updates defaulting to accept the change.
2020-02-25 11:42:28 -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
notpad
60f3ebe6b5 Remove alpha feature test for EvenPodsSpread 2020-02-25 18:32:07 +08:00
Kubernetes Prow Robot
1dd25a9efc
Merge pull request #88485 from ingvagabund/deprecate-predicate-priority-metrics-in-1.19
scheduler: deprecate deprecated metrics in 1.19.0
2020-02-24 21:39:00 -08:00
Jan Chaloupka
a3f6627ce8 scheduler: deprecate deprecated metrics in 1.19
We need some time to compare both deprecated and new replacing metrics so other consumers like clusterloader2 have time to adjust.
2020-02-25 02:58:33 +01:00
Aldo Culquicondor
9e71741d06 Add Profiles to kubescheduler.config.k8s.io/v1alpha2
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-24 09:45:46 -05:00
andrewsykim
8c633356df move well known cloud provider taints to k8s.io/cloud-provider/api
Signed-off-by: andrewsykim <kim.andrewsy@gmail.com>
2020-02-23 19:54:59 -05:00
Kubernetes Prow Robot
fc573f98fb
Merge pull request #88030 from alculquicondor/ipa_build_args
Exposing InterPodAffinity build args
2020-02-20 22:34:32 -08:00
skilxn-go
74718adf10 fix data races for other usage of Q 2020-02-20 00:50:13 +08:00
skilxn-go
7e33feec57 fix data races in scheduler unit tests 2020-02-19 22:27:40 +08:00
Mateusz
d221d82eaf run permit plugins in the scheduling cycle 2020-02-18 10:04:23 -08:00
Aldo Culquicondor
c8377ef7db Add BuildArgs to interpodaffinity plugin
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-18 09:55:06 -05:00
Kubernetes Prow Robot
48def7e7c3
Merge pull request #88105 from Huang-Wei/pts-e2e
Graduate PodTopologySpread to Beta
2020-02-16 18:59:28 -08:00
Kubernetes Prow Robot
3b22fcc7bd
Merge pull request #88189 from skilxn-go/RemovePreScoreNodeListArguments
[Scheduler Framework]Remove `FilteredNodesStatuses` argument from `PreScore`'s interface
2020-02-15 13:29:28 -08:00
skilxn-go
8fd0d8028f Remove FilteredNodesStatuses argument from PreScore interface 2020-02-15 13:53:04 +08:00
Wei Huang
c93dffdfc4
E2E tests for PodTopologySpread 2020-02-14 16:48:35 -08:00
Kubernetes Prow Robot
bde718d100
Merge pull request #87948 from notpad/feature/pod_backoff
Remove PodBackoffMap
2020-02-14 13:11:28 -08:00
notpad
a4e4a99435 Remove PodBackoffMap 2020-02-14 08:31:07 +08:00
Aldo Culquicondor
99bda6fac0 Remove HardPodAffinityWeight from v1alpha2
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-13 11:59:56 -05:00
Aldo Culquicondor
666bc6aeb4 Scheduler: Exclude plugin config for empty policy arguments
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-13 11:11:47 -05:00
skilxn-go
f5b7e3cca3 Rename PostFilter plugin to PreScore 2020-02-12 23:25:08 +08:00
notpad
89066cceb9 Add RegisterPluginAsExtensionsWithWeight 2020-02-11 23:11:53 +08:00
Kubernetes Prow Robot
574acbe310
Merge pull request #87847 from notpad/feature/slow_path
Cleanup "slow-path" logic in scheduler Filters
2020-02-11 06:46:04 -08:00
notpad
fb895056c6 Add test 2020-02-11 16:51:21 +08:00
Kubernetes Prow Robot
db9123e50e
Merge pull request #87936 from Huang-Wei/waitingPods-glitch
Refine WaitingPod interface for scheduler Permit plugin
2020-02-10 09:23:54 -08:00
notpad
a7057f8df0 Cleanup "slow-path" logic in scheduler Filters 2020-02-10 22:48:49 +08:00
Kubernetes Prow Robot
abe6321296 Merge pull request #87952 from mikedanese/opts
add *Options to Create, Update, and Patch in generated clientsets
2020-02-08 20:43:53 -08:00
Kubernetes Prow Robot
a280a967a5 Merge pull request #87853 from alculquicondor/fix/options_test
Do lenient decoding only for kubescheduler.config.k8s.io/v1alpha1
2020-02-08 14:46:21 -08:00
Mike Danese
25651408ae generated: run refactor 2020-02-08 12:30:21 -05:00
Mike Danese
3aa59f7f30 generated: run refactor 2020-02-07 18:16:47 -08:00
Wei Huang
b8e2b0d990
Refine WaitingPod interface 2020-02-07 16:32:48 -08:00
Kubernetes Prow Robot
9617322727
Merge pull request #87904 from alculquicondor/rm_v1alpha2_deprecated
Remove deprecated fields from kubescheduler.config.k8s.io/v1alpha2
2020-02-07 15:20:32 -08:00
Aldo Culquicondor
2ffb13e822 Do lenient decoding only for kubescheduler config v1alpha1
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-07 15:41:00 -05:00
Kubernetes Prow Robot
7cfa396e7c
Merge pull request #87725 from alculquicondor/rm_affinity_weight
Add defaults to pod affinity args
2020-02-07 12:32:17 -08:00
Kubernetes Prow Robot
cf3ba4a26e
Merge pull request #87900 from alculquicondor/rm_log
Remove Error log for nil StartTime in preemption candidates
2020-02-07 05:58:18 -08:00
Kubernetes Prow Robot
fc6f878a65
Merge pull request #87845 from Huang-Wei/pts-exclude-terminating-pods
PodTopologySpread plugin now excludes terminatingPods
2020-02-07 00:08:20 -08:00
Aldo Culquicondor
1071eb89f3 Remove deprecated fields from kubescheduler.config.k8s.io/v1alpha2
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-06 16:22:30 -05:00
Aldo Culquicondor
e9e11de4e1 Remove Error log for nil StartTime
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-06 14:09:44 -05:00
Wei Huang
815206685c
PodTopologySpread excludes terminatingPods when making scheduling decision 2020-02-06 07:38:50 -08:00
Abdullah Gharaibeh
0a476eb7d4 reduce overhead of error message formatting and allocation for scheudler NodeResource filter 2020-02-04 11:02:29 -05:00
Aldo Culquicondor
60c972098c Add defaults to pod affinity args
And remove pod affinity parameter from algorithm provider registry

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-03 14:58:28 -05:00
Somtochi Onyekwere
0e00e0af11 Adds more unit test on Bind extension for the scheduler 2020-01-31 22:37:22 +01:00
Kubernetes Prow Robot
7f0ea141d2
Merge pull request #87692 from everpeace/fix-scheduler-queue-metrics
Fix some scheduler metrics(pending_pods and schedule_attempts_total) are not recorded.
2020-01-31 05:30:19 -08:00
Shingo Omura
c9c4be66d3 Fix pending_pods, schedule_attempts_total was not recorded
because metric initializations are too early. This causes actual metric
instance become no-op.

modification made in thie commit to make sure actual metric instance won't be no-op metrics:

- re-initialize scheduler/metrics.PodSchedule{Successes, Failure, Errors} after metric creation
- scheduler/metrics.Register() should be called before initializing SchedulingQueue,
2020-01-31 17:03:41 +09:00
Kubernetes Prow Robot
5ced53c0c4
Merge pull request #87628 from alculquicondor/cc-v1alpha2
Add kubescheduler.config.k8s.io/v1alpha2
2020-01-30 16:59:33 -08:00
Kubernetes Prow Robot
8df708d676
Merge pull request #87616 from alculquicondor/backoff
Fix back off when scheduling cycle is delayed
2020-01-29 22:11:13 -08:00
Aldo Culquicondor
3d83ef2e8e Autogenerated and build files for kubescheduler.config.k8s.io/v1alpha2
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-29 17:18:48 -05:00
Aldo Culquicondor
11c4bcd9dd Copy kubescheduler.config.k8s.io/v1alpha1 files onto v1alpha2
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-29 17:18:41 -05:00
Aldo Culquicondor
8daa761757 Clean ups on kubescheduler.config.k8s.io/v1alpha1 files
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-29 17:17:53 -05:00
Aldo Culquicondor
9d2786c383 Fix back off when scheduling cycle is delayed
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-29 13:15:13 -05:00
Kubernetes Prow Robot
3dccf54175
Merge pull request #87566 from skilxn-go/Speard
Skip default spreading scoring plugin for pods that define TopologySpreadConstraints
2020-01-29 07:32:53 -08:00
skilxn-go
a4d1624fec Skip default spreading scoring plugin for pods that define TopologySpreadConstraints 2020-01-28 22:25:03 +08:00
Kubernetes Prow Robot
2059ad6573
Merge pull request #87548 from skilxn-go/AddLoging
Add logging to scheduler's event handlers
2020-01-27 06:31:02 -08:00
skilxn-go
24844c5fc5 Add logging to scheduler's event handlers 2020-01-27 13:00:00 +08:00
Kubernetes Prow Robot
93b2e42124
Merge pull request #87455 from SomtochiAma/scheduler-unit-tests
Adds unit test on Bind extension for the scheduler
2020-01-25 14:29:01 -08:00
Kubernetes Prow Robot
2cd685a020
Merge pull request #87250 from starizard/adding-taint-toleration-error-reasons
Adding taint toleration error reasons
2020-01-25 01:23:01 -08:00
Somtochi Onyekwere
8ae868b4e0 Adds more test cases in TestRunBindPlugins for the scheduler 2020-01-25 00:22:07 +01:00
Shawn Rebello
22bd26fefb Adding taint toleration error reasons 2020-01-24 02:50:55 +05:30
Shintaro Murakami
577b2dcdac Fix numPDBViolations when victims on same node are assigned same PDB 2020-01-23 10:14:53 +09:00
Kubernetes Prow Robot
f409793eb6
Merge pull request #87458 from liu-cong/framework-metrics-new
Record overall Filter latency for all nodes in a scheduling cycle.
2020-01-22 14:48:50 -08:00
Aldo Culquicondor
4a5ab84dcc Move default binding to a plugin
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-22 14:13:33 -05:00
Cong Liu
e0aeb4d6a3 Record overall Filter latency for all nodes in a scheduling cycle. 2020-01-22 13:46:38 -05:00
Kubernetes Prow Robot
1e252ceaad
Merge pull request #87439 from Huang-Wei/rm-sched-algorithm-folder
Remove folder pkg/scheduler/algorithm
2020-01-22 02:58:35 -08:00
Kubernetes Prow Robot
8cd0c42845
Merge pull request #87407 from haosdent/remove-registry-args
Deprecate scheduler's framework.plugins.RegistryArgs
2020-01-21 16:26:57 -08:00
Wei Huang
170714e532
Remove folder pkg/scheduler/algorithm 2020-01-21 14:33:08 -08:00
Wei Huang
3f8b202266
Move GeneralPredicates logic to kubelet. 2020-01-21 09:27:00 -08:00
Haosdent Huang
50d511d4b8 Deprecate scheduler's framework.plugins.RegistryArgs 2020-01-21 23:50:58 +08: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
Aldo Culquicondor
eb265bc7db Remove GetBinder member and replace it with a method.
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-20 14:10:02 -05:00
Aldo Culquicondor
7a39e1396a Remove unnecessary slow binding test
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-20 11:49:45 -05:00
Aldo Culquicondor
f53d7e55df Move Snapshot from nodeinfo/snapshot to internal/cache
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-17 13:29:41 -05:00
Aldo Culquicondor
6a14203658 Rename cache's Snapshot to Dump
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-17 11:28:08 -05:00
Wei Huang
c712230ac1
Implement default queue sort logic as a scheduler plugin 2020-01-16 19:10:43 -08:00
yuzhiquan
0e81e39465 cleanup(scheduler): remove unused function, remove duplicate comment, implement interface
update bazel
2020-01-16 09:07:09 +08:00
Kubernetes Prow Robot
88cf4e5c25
Merge pull request #87091 from ahg-g/ahg-cleanup
Remove last scheduler dependencies on predicates package
2020-01-14 17:21:39 -08:00
Kubernetes Prow Robot
b046f742bd
Merge pull request #87038 from alculquicondor/cleanup/mv_snapshot
Remove direct use of Snapshot's data structures
2020-01-14 17:21:29 -08:00
Kubernetes Prow Robot
f4db8212be
Merge pull request #76496 from danielqsj/metrics-2
Clean deprecated metrics
2020-01-13 20:53:09 -08:00
Aldo Culquicondor
187d711225 Split findNodesThatFit into framework and extenders logic
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-13 14:10:17 -05:00
Aldo Culquicondor
63c1c68d0c Remove direct use of Snapshot's data structures
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-13 14:10:17 -05:00
Abdullah Gharaibeh
fb66e807cd Remove scheduler framework dependency on predicates package 2020-01-13 13:02:31 -05:00
Kubernetes Prow Robot
dc2099ea11
Merge pull request #87055 from denkensk/clean-unused-predicate-error
Cleanup unused predicate error types.
2020-01-10 12:25:16 -08:00
Kubernetes Prow Robot
942b526e5c
Merge pull request #87051 from Huang-Wei/remove-prio-util-pkg
Remove scheduler/algorithm/priorities/util package
2020-01-10 12:25:01 -08:00
Kubernetes Prow Robot
a5a48d0bf3
Merge pull request #87037 from Huang-Wei/remove-util-pkg
Cleanup scheduler/algorithm/predicates package
2020-01-10 08:58:35 -08:00
danielqsj
ab182552b4 clean SinceInMicroseconds, convert to SinceInSeconds 2020-01-10 17:05:38 +08:00
danielqsj
85931af1ee remove deprecated metrics of scheduler 2020-01-10 17:03:40 +08:00
Kubernetes Prow Robot
9269b5d430
Merge pull request #87014 from notpad/fix/comments
Fix comment
2020-01-09 21:58:55 -08:00
Alex Wang
0bab010b45 clean unused predicate error 2020-01-10 13:06:29 +08:00
Wei Huang
b2159b5d66
Remove scheduler/algorithm/priorities/util package 2020-01-09 20:16:05 -08:00
Wei Huang
6aaf0bb41b
Cleanup scheduler/algorithm/predicates package 2020-01-09 19:01:31 -08:00
draveness
2c3c6721ce refactor(scheduling): remove priorities package 2020-01-10 09:05:39 +08:00
Kubernetes Prow Robot
adb8b08e91
Merge pull request #86905 from draveness/feature/disable-scheduling-plugin
feat(scheduling): address disabled plugins in scheduling framework
2020-01-09 16:10:47 -08:00
Kubernetes Prow Robot
e648e944e0
Merge pull request #86848 from haosdent/clean-filter-deps-nodeunschedulable
Break nodeunschedulable Filter plugins dependency on predicates package
2020-01-09 16:10:34 -08:00
Kubernetes Prow Robot
aef336d712
Merge pull request #86999 from draveness/feature/remove-ErrTopologySpreadConstraintsNotMatch
fix: remove ErrTopologySpreadConstraintsNotMatch
2020-01-09 13:29:42 -08:00
Kubernetes Prow Robot
95c9878b78
Merge pull request #86964 from alculquicondor/fix/snapshot_rm_node
Remove nodes from cache immediately on delete events
2020-01-09 13:29:32 -08:00
Kubernetes Prow Robot
f634ee6fe2
Merge pull request #86545 from xiaoanyunfei/cleanup/enhance_scheduler_metrics
Cleanup/Enhance scheduler metrics
2020-01-09 13:29:22 -08:00
Kubernetes Prow Robot
eedf1945b5
Merge pull request #86998 from denkensk/rm-errserviceaffinityviolated
Remove ErrServiceAffinityViolated scheduler predicate error
2020-01-09 11:33:42 -08:00
Kubernetes Prow Robot
407b29fa05
Merge pull request #86981 from alculquicondor/fix/node_info_list_2
Remove uses of NodeInfoMap outside of snapshot and cache
2020-01-09 11:33:31 -08:00
Aldo Culquicondor
afe3b907a1 Remove nodes from cache immediately on delete events
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-09 12:58:12 -05:00
draveness
50deec25bc feat(scheduling): address disabled plugins in scheduling framework
+ Custom plugins run after the default plugins.
+ Disable default plugins and re-enable them in the configuration could update
  the execution order.
+ Use `*` to disable all the default plugins of specific extension points.
2020-01-09 23:59:59 +08:00
Aldo Culquicondor
bcab9b4c9e Remove uses of NodeInfoMap outside of snapshot and cache
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-09 10:04:11 -05:00
Kubernetes Prow Robot
32d8799ef1
Merge pull request #86979 from ahg-g/ahg-cleanup2
Move TaintToleration predicate to its plugin
2020-01-09 06:53:45 -08:00
Abdullah Gharaibeh
50b697bacb move TaintToleration predicate to its plugin 2020-01-09 08:14:53 -05:00
notpad
228891de9c Fix comment 2020-01-09 20:06:56 +08:00
Kubernetes Prow Robot
edad4bbfc8
Merge pull request #86940 from skilxn-go/master
Add VolumeBinder to FrameworkHandle interface
2020-01-09 03:01:45 -08:00
draveness
0278d793c8 fix: remove ErrTopologySpreadConstraintsNotMatch 2020-01-09 16:01:13 +08:00
Alex Wang
80127fe10f rm errserviceaffinityviolated 2020-01-09 15:08:59 +08:00
Haosdent Huang
864600f05f Break nodeunschedulable Filter plugins dependency on predicates package 2020-01-09 14:54:28 +08:00
Kubernetes Prow Robot
2c800c5a70
Merge pull request #86985 from ahg-g/ahg-cleanup4
Remove test/integration dependency on predicates and algorithmprovider
2020-01-08 21:29:58 -08:00
Kubernetes Prow Robot
4d41f4809f
Merge pull request #86890 from damemi/move-selector-spread-to-plugin
Move selector spreading priority code to plugin
2020-01-08 21:29:45 -08:00
sunxiaofei03
6c58cc0ad0 change framework_extension_point_duration_seconds from sampling to always record 2020-01-09 12:23:05 +08:00
Kubernetes Prow Robot
b3c94d3fb9
Merge pull request #86966 from bharaththiruveedula/master
Fix interpodaffinity issue
2020-01-08 19:12:20 -08:00
Kubernetes Prow Robot
4426ccb2a6
Merge pull request #86963 from ahg-g/ahg-status
Update scheduler's RunFilterPlugins to return a plugin to status map
2020-01-08 19:12:12 -08:00
Kubernetes Prow Robot
4d95d40a41
Merge pull request #86836 from haosdent/clean-filter-deps-interpodaffinity
Break interpodaffinity Filter plugins dependency on predicates package
2020-01-08 19:11:53 -08:00
skilxn-go
5def91d778 Add VolumeBinder to FrameworkHandle interface 2020-01-09 10:29:35 +08:00
Abdullah Gharaibeh
c86f59610c remove test/integration dependency on predicates and algorithmprovider 2020-01-08 19:51:22 -05:00
Kubernetes Prow Robot
ca05f4c63b
Merge pull request #86930 from alculquicondor/fix/node_info_list
Use Snapshot.NodeInfoList for listing operations
2020-01-08 14:46:03 -08:00
Abdullah Gharaibeh
f3c7a4c823 Update scheduler's RunFilterPlugins to return a plugin to status map 2020-01-08 16:44:51 -05:00
Bharath Thiruveedula
8e3c1b54a7 Fix interpodaffinity issue
Signed-off-by: Bharath Thiruveedula <bharath_ves@hotmail.com>
2020-01-09 01:18:49 +05:30
Mike Dame
d227b7822f Move selector spreading priority code to plugin 2020-01-08 13:37:37 -05:00
Kubernetes Prow Robot
b34c96b62c
Merge pull request #86764 from haosdent/migrate-servie-affinity
Break serviceaffinity Filter plugins dependency on predicates package
2020-01-08 08:47:39 -08:00
Aldo Culquicondor
5d916e20dd Use Snapshot.NodeInfoList for listing operations
instead of iterating over NodeInfoMap.

Also remove redundant queries to NodeInfoMap.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-08 09:45:36 -05:00
Kubernetes Prow Robot
b1e8bed5be
Merge pull request #86755 from mwmix/scheduler_server_unit_tests
Adding in missing Registry unit tests.
2020-01-08 02:57:54 -08:00
Haosdent Huang
a1053e4835 Break interpodaffinity Filter plugins dependency on predicates package 2020-01-08 14:37:51 +08:00
Kubernetes Prow Robot
6099a739d8
Merge pull request #86919 from ahg-g/ahg-fix
Fix how we check for node info list consistency
2020-01-07 14:09:05 -08:00
Kubernetes Prow Robot
99600ae9a7
Merge pull request #86852 from haosdent/clean-filter-deps-volumezone
Break volumezone Filter plugins dependency on predicates package
2020-01-07 14:08:55 -08:00
Kubernetes Prow Robot
c867fdbc1c
Merge pull request #86847 from haosdent/clean-filter-deps-nodelabel
Break nodelabel Filter plugins dependency on predicates package
2020-01-07 14:08:46 -08:00
Kubernetes Prow Robot
c7af1da206
Merge pull request #86913 from ahg-g/ahg-nodelimit
fix a bug in scheduler's node resource limits score
2020-01-07 12:34:25 -08:00
Abdullah Gharaibeh
e26fbe6f08 fix a bug in scheduler's node resource limits score 2020-01-07 13:43:44 -05:00
Kubernetes Prow Robot
d4d3d4b55e
Merge pull request #86875 from ahg-g/ahg1-cleanup
Move RequestedToCapacityRatio argument processing to its plugin
2020-01-07 10:14:42 -08:00
Kubernetes Prow Robot
dc084fe131
Merge pull request #86849 from haosdent/clean-filter-deps-nodevolumelimits
Break nodevolumelimits Filter plugins dependency on predicates package
2020-01-07 10:14:33 -08:00
Haosdent Huang
320c9bfeed Break volumezone Filter plugins dependency on predicates package 2020-01-08 01:03:01 +08:00
Abdullah Gharaibeh
591b870691 fix how we check for node info list consistency 2020-01-07 11:45:25 -05:00
Matt Mix
42afa0a2cc Adding in missing Registry unit tests. 2020-01-07 10:20:39 -05:00
Haosdent Huang
6a82609902 Break serviceaffinity Filter plugins dependency on predicates package 2020-01-07 22:43:37 +08:00
Kubernetes Prow Robot
38173d586a
Merge pull request #86877 from ahg-g/ahg1-cleanup2
Remove unused scheduler types
2020-01-07 01:13:33 -08:00
Kubernetes Prow Robot
08ae3b490a
Merge pull request #86859 from silenceshell/ExtenderConfig-rename-Extender
rename ExtenderConfig to Extender in comments
2020-01-07 01:13:24 -08:00
Haosdent Huang
4ef31f81c7 Break nodelabel Filter plugins dependency on predicates package 2020-01-07 16:37:52 +08:00
Abdullah Gharaibeh
729c37373a Remove unused scheduler types 2020-01-06 21:19:42 -05:00
Kubernetes Prow Robot
e7c79050b4
Merge pull request #86718 from ahg-g/ahg1-err
Copy nodeaffinity predicate to its filter plugin
2020-01-06 18:06:46 -08:00
Abdullah Gharaibeh
4e67476867 move nodeaffinity predicate to its filter plugin 2020-01-06 13:22:51 -05:00
Abdullah Gharaibeh
b9e2389e0d Move RequestedToCapacityRatio argument processing to its plugin 2020-01-06 11:54:09 -05:00
Kubernetes Prow Robot
0f61791bc7
Merge pull request #86850 from haosdent/clean-filter-deps-volumerestrictions
Break volumerestrictions Filter plugins dependency on predicates package
2020-01-05 20:57:41 -08:00
silenceshell
7254517c5c rename ExtenderConfig to Extender 2020-01-06 11:18:51 +08:00
Kubernetes Prow Robot
10dc4a0c79
Merge pull request #86822 from ahg-g/ahg-cleanup
Cleanup deprecated scheduler functions/files
2020-01-05 12:37:41 -08:00
Haosdent Huang
9bcca31e52 Break volumerestrictions Filter plugins dependency on predicates package 2020-01-06 02:59:47 +08:00
Haosdent Huang
aae9a7f704 Break nodevolumelimits Filter plugins dependency on predicates package 2020-01-06 02:30:40 +08:00
Kubernetes Prow Robot
862c8bf818
Merge pull request #85561 from cwdsuzhou/Nov/return_when_failed
Return when removePod failed
2020-01-05 06:23:40 -08:00
Kubernetes Prow Robot
2d56d75061
Merge pull request #86730 from ahg-g/ahg1-ds
Break DS controller dependency on scheduler predicates and predicate errors
2020-01-04 14:39:40 -08:00
Kubernetes Prow Robot
fd98df37b5
Merge pull request #86742 from haosdent/clean-filter-deps
Break volumebinding Filter plugins dependency on predicates package
2020-01-04 12:21:40 -08:00
Haosdent Huang
d27dc6751e Break volumebinding Filter plugins dependency on predicates package 2020-01-05 01:37:22 +08:00
Kubernetes Prow Robot
135ddf1ccc
Merge pull request #86820 from Huang-Wei/cleanup-SetPredicatesOrdering
Cleanup SetPredicatesOrderingDuringTest due to deprecation of predicates
2020-01-03 16:59:41 -08:00
Abdullah Gharaibeh
d31dcecd20 cleanup unused scheduler functions/files 2020-01-03 19:09:14 -05:00
Wei Huang
051be8fe80
Cleanup SetPredicatesOrderingDuringTest due to deprecation of predicates 2020-01-03 11:57:17 -08:00
Wei Huang
64d7b224d9
Cleanup unused parameter of NewGenericScheduler 2020-01-03 11:42:39 -08:00
Abdullah Gharaibeh
7d604c318c Break DS controller on scheduler predicates and predicate errors 2020-01-03 13:05:07 -05:00
Kubernetes Prow Robot
180e1c9f51
Merge pull request #86584 from xiaoanyunfei/cleanup/deprecate_scheduler_metrics
deprecate scheduling_algorithm_predicate_evaluation_seconds and sched…
2020-01-03 03:41:40 -08:00
Kubernetes Prow Robot
47d5c3ef8d
Merge pull request #86785 from cwdsuzhou/Jan/update_comments
update comments of some funs in scheduling_queue
2020-01-02 22:26:02 -08:00
Kubernetes Prow Robot
b3c4c90a72
Merge pull request #86673 from ahg-g/ahg1-provider
Define algorithm providers in terms of plugins
2020-01-02 22:25:53 -08:00
Kubernetes Prow Robot
fdfcb00ede
Merge pull request #86586 from xiaoanyunfei/cleanup/deprecate_scheduler_duration_seconds
Deprecate scheduling_duration_seconds Summary metric
2020-01-02 19:15:55 -08:00
Abdullah Gharaibeh
b535ed3b0c Merge scheduler's ConfigProducerRegistry into LegacyRegistry 2020-01-02 16:40:33 -05:00
caiweidong
02e217759e update comments of some funs in scheduling_queue 2020-01-02 23:35:12 +08:00
Kubernetes Prow Robot
26b52e84a4
Merge pull request #86230 from hex108/skip_schedule
Scheduler handles pod annotation updates during scheduling more gracefully
2019-12-31 17:03:40 -08:00
Abdullah Gharaibeh
a6b7b0d95e Define algorithm providers in terms of plugins. 2019-12-31 15:28:09 -05:00
notpad
7f79516705 Move resource-based priority functions to their Score plugins 2019-12-31 23:50:11 +08:00
Jun Gong
706e90a033 Skip scheduling the pod if it has been assumed and the pod updates could be skipped. 2019-12-31 14:21:41 +08:00
caiweidong
6410ac3173 Return when removePod failed 2019-12-31 10:11:12 +08:00
Wei Huang
78352240f6
Move podtopologyspread priority logic to its Score plugin 2019-12-28 19:29:37 -08:00
Kubernetes Prow Robot
f796b750c6
Merge pull request #86681 from Huang-Wei/interpodaffinity-typo
Fix a typo in interpodaffinity score plugin
2019-12-28 08:23:38 -08:00
Wei Huang
b3bebddb30
Fix a typo in interpodaffinity score plugin 2019-12-27 20:23:28 -08:00
draveness
320ac4e277 feat(scheduling): implement azure, cinder, ebs and gce as filter plugin 2019-12-28 11:46:40 +08:00
Kubernetes Prow Robot
0387ee4244
Merge pull request #86625 from zouyee/cnu
Move CheckNodeUnschedulable predicate to its filter plugin
2019-12-27 09:27:39 -08:00
Kubernetes Prow Robot
429ad7db4f
Merge pull request #86659 from Huang-Wei/eps-move-pred
Move pod topology spread predicate logic to its filter plugin
2019-12-27 07:53:38 -08:00
Kubernetes Prow Robot
b52cdca17d
Merge pull request #86638 from danielqsj/ServiceAntiAffinityPriority
Move ServiceAntiAffinityPriority to score plugin
2019-12-27 04:05:38 -08:00
Wei Huang
8a4dce5431
Move pod topology spread predicate logic to its filter plugin 2019-12-26 23:56:03 -08:00
danielqsj
f53c81f4a2 Move ServiceAntiAffinityPriority to score plugin 2019-12-27 10:02:13 +08:00
draveness
291a7bb164 feat(scheduling): move csi volume predicates to csi filter plugin 2019-12-27 09:14:35 +08:00
zouyee
89867e1c21 Move CheckNodeUnschedulable predicate to its filter plugin
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-12-26 21:38:27 +08:00
zouyee
c4331b0369 Move VolumeZone predicate to its Filter plugin
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-12-26 21:36:11 +08:00
Kubernetes Prow Robot
04d71d8a7b
Merge pull request #86614 from ahg-g/ahg1-default2
Deprecate scheduler predicate and priority factory registration and associated types
2019-12-26 05:21:38 -08:00
Kubernetes Prow Robot
f13e2ed491
Merge pull request #86591 from ahg-g/ahg1-default
Added scheduler algorithm provider registrey.
2019-12-25 18:25:38 -08:00
Abdullah Gharaibeh
2b3df3587e Deprecate scheduler predicate and priority factory registration 2019-12-25 20:33:08 -05:00
Kubernetes Prow Robot
c84b1a8a10
Merge pull request #86601 from angao/no-disk-conflict
move NoDiskConflict predicate to its filter plugin
2019-12-25 15:27:38 -08:00
Kubernetes Prow Robot
bd1195c28e
Merge pull request #86580 from zouyee/rlp
Move ResourceLimitsPriority to its Score plugin
2019-12-25 07:39:38 -08:00
Alex Wang
e5168cc7bb move nodepreferavoidpods to score plugin 2019-12-25 17:26:58 +08:00
zouyee
bf2b709e82 Move ResourceLimitsPriority to its Score plugin
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-12-25 16:41:40 +08:00
Kubernetes Prow Robot
26253903b5
Merge pull request #86595 from draveness/feature/move-node-affinity-to-score-plugin
feat: implement node affinity priority as score plugin
2019-12-25 00:01:43 -08:00
Wen Gao
e5d90c57f0 move NoDiskConflict predicate to its filter plugin 2019-12-25 15:44:59 +08:00
Abdullah Gharaibeh
8fc21710e7 Added scheduler algorithm provider registery. 2019-12-25 00:48:52 -05:00
notpad
c33c4fffd1 Move RequestedToCapacityRatio to plugins/noderesources 2019-12-25 12:18:32 +08:00
draveness
75872b8e79 feat: implement node affinity priority as score plugin
+ Add DefaultNormalizeScore function
+ Implement NodeAffinity as score plugin
2019-12-25 10:53:35 +08:00
Abdullah Gharaibeh
fe7de96ebe cleanup scheduler's in-tree plugins registry naming 2019-12-24 15:56:36 -05:00
Kubernetes Prow Robot
24469a3692
Merge pull request #86585 from SataQiu/scheduler-taint-toleration
"Move Taint and toleration priority to its Score plugin"
2019-12-24 11:43:29 -08:00
Kubernetes Prow Robot
0c54ec3e4c
Merge pull request #86577 from draveness/feature/remove-total-num-nodes-in-metdata
fix: remove totalNumNodes from priority metadata
2019-12-24 08:41:29 -08:00
sunxiaofei03
97676963c3 deprecate scheduling_algorithm_predicate/priority_evaluation_seconds 2019-12-24 19:41:01 +08:00
Kubernetes Prow Robot
175ee0a111
Merge pull request #86542 from zouyee/nodeinfocheck
introduce checker for  the result of nodeInfo.Node()
2019-12-24 03:23:29 -08:00
SataQiu
21c916c3d2 move Taint and toleration predicate to its Score plugin 2019-12-24 19:22:12 +08:00
sunxiaofei03
70b80ae28a Deprecate scheduling_duration_seconds Summary metric 2019-12-24 19:17:29 +08:00
draveness
5fd6b8fae7 fix: remove totalNumNodes from priority metadata 2019-12-24 15:45:04 +08:00
Kubernetes Prow Robot
39d0710a4b
Merge pull request #86530 from zouyee/vbb
Move volumebinding predicate to its filter plugin
2019-12-23 22:05:29 -08:00
zouyee
bf8a8a657c introduce checker for the result of nodeInfo.Node()
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-12-24 09:11:40 +08:00
Kubernetes Prow Robot
06fb3eb582
Merge pull request #86496 from ahg-g/ahg1-check
Support AlwaysCheckAllPredicates in the scheduler framework.
2019-12-23 09:53:33 -08:00
draveness
3f591bb2dd feat: implement image locality as score plugin 2019-12-23 23:05:23 +08:00
zouyee
83408acf75 Move volumebinding predicate to its filter plugin
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-12-23 21:57:49 +08:00
Kubernetes Prow Robot
ff975e865d
Merge pull request #86498 from Huang-Wei/deprecate-failedPredicateMap
Cleanup failedPredicateMap from generic_scheduler.go
2019-12-21 08:41:33 -08:00
Abdullah Gharaibeh
eeb8a5b728 Added back the flag to trigger examining all Filters in the scheduler. 2019-12-21 05:17:23 -05:00
Kubernetes Prow Robot
8737890681
Merge pull request #86459 from ahg-g/ahg1-affinity-pred
move inter pod affinity predicate logic to its Filter plugin
2019-12-20 18:28:08 -08:00
Wei Huang
3e65b3793f
Cleanup failedPredicateMap from generic_scheduler.go 2019-12-20 15:18:15 -08:00
Abdullah Gharaibeh
429448cb40 move inter pod affinity predicate logic to its Filter plugin 2019-12-20 16:58:36 -05:00
Wei Huang
1f78a936d4
Deprecate AlwaysCheckAllPredicates in scheduler Policy API 2019-12-20 11:41:33 -08:00
Kubernetes Prow Robot
b632eaddba
Merge pull request #86446 from ahg-g/ahg1-nodelabel
Move NodeLabel priority logic to its Score and Filter plugin
2019-12-19 15:37:21 -08:00
Kubernetes Prow Robot
641d0290e4
Merge pull request #86399 from ahg-g/ahg1-prioritymeta
InterPodAffinity Priority as Score plugin
2019-12-19 13:39:56 -08:00
Abdullah Gharaibeh
68f3802ba8 move NodeLabel predicate logic to its Filter plugin 2019-12-19 14:00:39 -05:00
Abdullah Gharaibeh
119a9a94d1 InterPodAffinity Priority as Score plugin 2019-12-19 13:42:49 -05:00
Abdullah Gharaibeh
22a0f55a68 move NodeLabel priority logic to its Score plugin 2019-12-19 13:35:43 -05:00
Kubernetes Prow Robot
9fad2e3201
Merge pull request #84611 from cwdsuzhou/Nov/simplyfy_zone_checker
Simplify volume zone checker codes
2019-12-19 08:09:57 -08:00
Kubernetes Prow Robot
77c565025a
Merge pull request #86289 from ahg-g/ahg1-metadata
Deprecate PredicateMetadata
2019-12-17 23:42:10 -08:00
Abdullah Gharaibeh
770e51cd10 Deprecate PredicateMetadata 2019-12-17 08:02:59 -05:00
Abdullah Gharaibeh
b3abfdc9e4 registered nodeports and noderesources prefilters 2019-12-17 07:29:37 -05:00
Kubernetes Prow Robot
ec4f3e3064
Merge pull request #86319 from Huang-Wei/fluffout-sched-tests
Fix up the sub-test style
2019-12-17 04:20:32 -08:00
Kubernetes Prow Robot
d2c5d0ae70
Merge pull request #86264 from ahg-g/ahg1-svcmeta
Move service affinity predicate logic to its plugin.
2019-12-16 21:39:39 -08:00
Wei Huang
82afa2bbaf
Fix up the sub-test style 2019-12-16 11:28:12 -08:00
Jacek Kaniuk
8fae8e54af Disable excessive logging in scheduler plugins 2019-12-16 15:14:39 +01:00
Abdullah Gharaibeh
7331ec7b02 Move service affinity predicate logic to its plugin. 2019-12-15 13:56:31 -05:00
Abdullah Gharaibeh
02a0aad6d3 podfitsresource metadata as prefilter 2019-12-14 00:51:25 -05:00
Wei Huang
3d353f5122
Update semantics of EvenPodsSpread metadata object
- Now `nil` represents the meta is not set at all (in PreFilter phase)
- An empty `PodTopologySpreadMetadata` object denotes it's a legit meta and is set in PreFilter phase.
2019-12-13 16:33:22 -08:00
Wei Huang
468aebc17f
Move EvenPodsSpread metadata computation logic as a PreFilter Plugin 2019-12-13 16:33:21 -08:00
Kubernetes Prow Robot
efe159e8d2
Merge pull request #86224 from ahg-g/ahg-prefilters
Wrap host ports metadata in a prefilter
2019-12-13 16:19:58 -08:00
Abdullah Gharaibeh
6f3c68bd5c compatibility tests for default provider and mandatory filters 2019-12-13 12:47:15 -05:00
Abdullah Gharaibeh
c54dbd85e0 wrap host ports metadata in a prefilter. 2019-12-13 09:16:25 -05:00
Kubernetes Prow Robot
c34d140241
Merge pull request #86129 from damemi/remove-priority-code
Remove priority execution path from prioritizeNodes in generic_scheduler
2019-12-13 01:41:04 -08:00
Kubernetes Prow Robot
7e01fe12bf
Merge pull request #86228 from ahg-g/ahg-r1
Deprecate scheduler's FailureReason
2019-12-12 18:33:32 -08:00
Kubernetes Prow Robot
6715e35530
Merge pull request #86175 from ahg-g/ahg1-prefilters
Wrap InterPodAffinity predicate metadata as a Prefilter
2019-12-12 18:33:19 -08:00
Mike Dame
255ab6d2c3 Remove priority execution paths in favor of score plugins
Mainly affects core/generic_scheduler.go (and related tests). Removes the "prioritizers" field and related functions.
2019-12-12 19:30:44 -05:00
Abdullah Gharaibeh
70a2bccfd6 deprecate scheduler's FailureReason 2019-12-12 18:54:52 -05:00
Abdullah Gharaibeh
2fdf1fa3c1 inter-pod affinity prefilter 2019-12-12 15:20:14 -05:00
Abdullah Gharaibeh
9f334a4d08 Add an interface to return scheduler framework instance 2019-12-12 10:47:32 -05:00
Wei Huang
dc3d1bd238
Eliminate running paths of Predicates in scheduler
- eliminate running paths of Predicates in scheduler; use Filter Plugins instead.
- refactor all unit tests
- adjust the TestPreemptWithPermitPlugin integration test
2019-12-10 19:14:13 -08:00
Kubernetes Prow Robot
9bf52c2aa6
Merge pull request #86046 from ahg-g/ahg1-affinity
Optimize required pod affinity (2)
2019-12-09 17:39:28 -08:00
Kubernetes Prow Robot
d842c194c2
Merge pull request #86022 from Huang-Wei/sched-reserve-multi-errs
Return all scheduler predicate failures instead of the first one
2019-12-09 14:00:26 -08:00
Abdullah Gharaibeh
32dc70e0f1 optimize required inter-pod affinity 2019-12-09 16:21:13 -05:00
Kubernetes Prow Robot
fcc35b0468
Merge pull request #85899 from gongguan/slim_down_lister
slim down some lister expansions
2019-12-09 07:20:17 -08:00
Wei Huang
a136108d2b
Return all predicate failures instead of the first one 2019-12-08 21:10:40 -08:00
Kubernetes Prow Robot
77a95dce68
Merge pull request #85959 from ahg-g/ahg-affinity-opt
Refactor and optimize preferred (anti) pod affinity
2019-12-06 19:49:25 -08:00
louisgong
7f5076d8ee slim down some lister expansions 2019-12-07 08:27:06 +08:00
Abdullah Gharaibeh
53be26e402 optimize preferred pod affinity 2019-12-06 12:59:06 -05:00
Kubernetes Prow Robot
b8ce44f006
Merge pull request #85863 from nan-yu/pdb_status_renaming
Rename PodDisruptionsAllowed to DisruptionsAllowed in type PodDisruptionBudgetStatus
2019-12-05 15:54:49 -08:00
yuzhiquan
e057bd4ad2 fix: typo Snapshoting to Snapshotting 2019-12-05 10:42:35 +08:00
Kubernetes Prow Robot
f4caa62593
Merge pull request #85590 from yuzhiquan/master
handle registry merge error
2019-12-04 08:50:57 -08:00
Kubernetes Prow Robot
370e2f4b29
Merge pull request #85862 from ahg-g/ahg-antiAffinity
Partially avoid LabelSelectorAsSelector overhead in anti-pod affinity calculation
2019-12-03 18:35:23 -08:00
Kubernetes Prow Robot
ca7ad98d60
Merge pull request #85470 from cwdsuzhou/add_pod_info
add pod info when failing to add pod to unschedulableQ
2019-12-03 18:35:10 -08:00
Dc.Hannibal
9a9db00451 handle registry merge error
Handle registry merge error.

Add test case

Add a test case in TestSchedulerCreation

Add test case comment

Add test case comment, and modify error msg.

gofmt

gofmt import order

replace NewDefaultRegistry with a fake registry

update comment

rename framework plugins nodeaffinity import

remove nodeaffinity plugin import, get fake registry name from default registry randomly

Add a space

Add a space after //

update comment, trans FrameWork to Framework
2019-12-04 09:21:18 +08:00
Nan Yu
1fb0dd4ec5 Rename PodDisruptionsAllowed to DisruptionsAllowed in type PodDisruptionBudgetStatus 2019-12-03 14:26:35 -08:00
Abdullah Gharaibeh
2d3c8fe6b9 optimize anti-affinity predicate 2019-12-03 15:44:57 -05:00
Abdullah Gharaibeh
f388534082 make scheduling queue start before the scheduler starts and stops after the scheduler stops 2019-12-02 14:35:09 -05:00
Abdullah Gharaibeh
5ea43f20cb optimize scheduler's UpdateNodeInfoSnapshot 2019-11-29 15:06:13 -05:00
Kubernetes Prow Robot
247c12d618
Merge pull request #85695 from ahg-g/ahg-provider
remove redundant definition of the defaultProvider in the scheduler
2019-11-27 17:51:03 -08:00
Abdullah Gharaibeh
7360797a12 remove redundant definition of the defaultProvider in the scheduler 2019-11-27 14:49:57 -05:00
Abdullah Gharaibeh
2e0bad569d export scheduler.Snapshot function, needed for cluster autoscaler integration 2019-11-27 12:35:56 -05:00
Kubernetes Prow Robot
be65a9d1b6
Merge pull request #85526 from hex108/dump_nominated_pods
Print nominated pods when dumping scheduler cached NodeInfo
2019-11-27 07:17:21 -08:00
Kubernetes Prow Robot
a15b5dfb13
Merge pull request #85188 from charleszheng44/scheduler-ut
add ut for scheduler framework
2019-11-22 17:29:43 -08:00
Jun Gong
abc64a8519 Print nominated pods on the node when dumping scheduler cached NodeInfo 2019-11-22 13:12:37 +08:00
caiweidong
81afa77e3b add pod info when failing to add pod to queue 2019-11-22 11:07:31 +08:00
Kubernetes Prow Robot
7a5929da02
Merge pull request #83838 from RainbowMango/pr_hide_scheduler_deprecated_metrics
Turn off scheduler metrics that have been deprecated
2019-11-15 07:59:15 -08:00
chao zheng
259cc951ff add ut for scheduler framework 2019-11-14 19:39:21 -08:00
Kubernetes Prow Robot
ff0a1d86d5
Merge pull request #85298 from liggitt/scheduler-csi-v1
Use CSINodes v1 API in scheduler
2019-11-14 17:51:20 -08:00
Kubernetes Prow Robot
9b75e36436
Merge pull request #85294 from ahg-g/ahg-15k
Rename PluginConfigArgs to AlgorithmConfigArgs
2019-11-14 11:20:11 -08:00
Jordan Liggitt
7eb4838a61 Use CSINodes v1 API in scheduler 2019-11-14 13:40:50 -05:00
Kubernetes Prow Robot
78d2e52dee
Merge pull request #84859 from denkensk/move-volumebind-behind-permit
Move pod bindVolumes behind RunPermitPlugins
2019-11-14 10:05:48 -08:00
Kubernetes Prow Robot
979688b5cd
Merge pull request #84335 from mrkm4ntr/fix-node-evaluation
Add unit test to catch scheduler's node order evaluation regressions
2019-11-14 10:05:35 -08:00
Abdullah Gharaibeh
05606bb6e4 rename PluginConfigArgs to AlgorithmConfigArgs 2019-11-14 11:30:59 -05:00
Kubernetes Prow Robot
5e30d32d2c
Merge pull request #83394 from bertinatto/convert_pv_no_affinity
Convert existing PVs to use volume topology in VolumeBinderPredicate
2019-11-13 21:45:56 -08:00
RainbowMango
d9b12b131a Hide scheduler metrics that have been deprecated in 1.14 2019-11-14 10:02:18 +08:00
Kubernetes Prow Robot
fa1ca34550
Merge pull request #85236 from liu-cong/metrics-bucket
Update bucket for scheduler framework latency histograms.
2019-11-13 17:29:17 -08:00
Cong Liu
8995c1e030 Update bucket for scheduler framework latency histograms. 2019-11-13 16:35:59 -05:00
Kubernetes Prow Robot
209c025144
Merge pull request #85157 from alculquicondor/refactor/selector
Store topology spread constraints in metadata with labels.Selector
2019-11-13 13:04:35 -08:00
Kubernetes Prow Robot
7d1580270a
Merge pull request #85151 from hypnoglow/scheduler-default-algo-source
scheduler: make algorithm source an option
2019-11-13 13:04:09 -08:00
Kubernetes Prow Robot
e0c483b889
Merge pull request #85150 from ahg-g/ahg-informer
Pass InformerFactory/SharedLister instead of individual informers/listers in scheduler config logic
2019-11-13 09:28:23 -08:00
Aldo Culquicondor
e3bdb4b20b Store topology spread constraints in metadata with labels.Selector
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-11-13 10:10:08 -05:00
Fabio Bertinatto
bbfc6ef450 Convert volume binder to use CSINode GA 2019-11-13 14:01:01 +01:00
Fabio Bertinatto
7cba40fb09 Use CSI translation lib in VolumeBinderPredicate 2019-11-13 14:01:01 +01:00
Igor Zibarev
6350095d3c scheduler: make algorithm source an option
Changes scheduler.New so that algorithm source is moved from the
parameter to an option. The default algorithm source is source with the
DefaultProvider.
2019-11-13 10:22:29 +03:00
Abdullah Gharaibeh
acc66ede1a Pass InformerFactory instead of indivisual informers in scheduler configuration logic 2019-11-12 19:38:27 -05:00
Kubernetes Prow Robot
ce11622bb6
Merge pull request #84522 from liu-cong/plugin
Add scheduler plugin execution duration metric.
2019-11-12 13:50:11 -08:00
Kubernetes Prow Robot
055daafe23
Merge pull request #85139 from ahg-g/ahg-snapshot2
Updated NewSnapshot interface to accept a NodeInfoMap
2019-11-12 11:52:10 -08:00
Kubernetes Prow Robot
ee9020c8bc
Merge pull request #85106 from alculquicondor/refactor/single_selector
Merging selectors used for spreading into one
2019-11-12 11:51:46 -08:00
Kubernetes Prow Robot
c580a12c8e
Merge pull request #83568 from bertinatto/volume_limits_ga
Promote volume limits to GA
2019-11-12 11:50:22 -08:00
Cong Liu
af6a8160c3 Add scheduler plugin execution duration metric.
Address comments

Sample metrics

Use rand.Intn and some cleanup
2019-11-12 13:00:20 -05:00
Kubernetes Prow Robot
ed4d515f0e
Merge pull request #85049 from ahmad-diaa/make-configurator-create-return-sched
Change Configurator.Create to Return a Scheduler
2019-11-12 09:06:36 -08:00
Abdullah Gharaibeh
902cf48cd3 Updated NewSnapshot interface to accept a NodeInfoMap instead of lists of nodes and pods 2019-11-12 11:14:17 -05:00
Aldo Culquicondor
c35fe2c801 Merging selectors for spreading into one
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-11-12 11:01:42 -05:00
Kubernetes Prow Robot
35de7a2537
Merge pull request #84957 from ZP-AlwaysWin/dev-1105-1
Remove unnecessary judgment
2019-11-12 04:48:43 -08:00
Fabio Bertinatto
a59abc3cc3 Convert scheduler to use CSINode GA 2019-11-12 09:43:54 +01:00
Fabio Bertinatto
affcd0128b Promote volume limits to GA 2019-11-12 09:43:53 +01:00
ZP-AlwaysWin
f812530e42 Remove unnecessary judgment 2019-11-12 09:31:42 +08:00
Kubernetes Prow Robot
01e014c7d6
Merge pull request #85012 from alculquicondor/feat/predicate_factory
Add MetadataProducerFactory for predicates
2019-11-11 14:46:36 -08:00
Kubernetes Prow Robot
bff9a7774c
Merge pull request #84639 from SataQiu/clean-scheduler-20191101
scheduler: improve some comments and validation messages
2019-11-11 12:56:04 -08:00
Kubernetes Prow Robot
268663c9e3
Merge pull request #84996 from alculquicondor/cleanup/rm_factory
Remove leftover factory directory
2019-11-11 10:54:04 -08:00
Ahmad Diaa
7156d4532e remove factory.Config struct and NewFromConfig 2019-11-11 19:27:53 +01:00
Ahmad Diaa
7b8e5fb4f5 make Configurator.Create return a Scheduler 2019-11-11 19:27:53 +01:00
Aldo Culquicondor
6a98c93f3c Add MetadataProducerFactory for predicates
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-11-11 11:27:44 -05:00
Alex Wang
c9fda7aac0 move bindVolumes behind RunPermitPlugins 2019-11-11 11:30:01 +08:00
Kubernetes Prow Robot
82600c2b0e
Merge pull request #84948 from zouyee/PriorityFunction
clean up PriorityFunction
2019-11-10 09:39:40 -08:00
Kubernetes Prow Robot
1ca74c7991
Merge pull request #85030 from ahg-g/ahg-nodestoscore
Set default percentageOfNodesToScore in kube-scheduler back to "adaptive"
2019-11-09 11:11:39 -08:00
Abdullah Gharaibeh
9fb380ceff set default percentageOfNodesToScore in kube-scheduler back to 0 (maning adaptive) 2019-11-09 06:34:06 -05:00
Kubernetes Prow Robot
36acfecd4b
Merge pull request #84973 from draveness/feature/inter-pod-affinity-score
feat(scheduler): convert InterPodAffinity to score plugin
2019-11-09 02:43:40 -08:00
Shintaro Murakami
4857fc05f8 Add unit test to catch scheduler's node order evaluation regressions 2019-11-09 03:36:46 +09:00
Aldo Culquicondor
efe9392d0b Remove leftover factory directory
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-11-08 11:45:36 -05:00
Andrew Sy Kim
094b614934 scheduler: max attachable volume predicate should also check stable instance-type label
Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
2019-11-08 10:52:12 -05:00
Kubernetes Prow Robot
3a897ad2f5
Merge pull request #84738 from liu-cong/service_affinity
Aggregate mulitple ServiceAffinity custom priorities to a single score plugin.
2019-11-07 23:52:44 -08:00
draveness
715068312a feat(scheduler): convert InterPodAffinity to score plugin 2019-11-08 15:37:33 +08:00
Kubernetes Prow Robot
7b7aa58881
Merge pull request #84952 from draveness/fix/topology-spread-node-score
fix: return NodeScore in even pods spread priority
2019-11-07 22:01:01 -08:00
zouyee
3512fde8c5 clean up PriorityFunction
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-11-08 12:33:21 +08:00
Cong Liu
e438970730 Aggregate mulitple NodePreference custom priorities to a single score plugin. 2019-11-07 22:04:38 -05:00
Andrew Sy Kim
07229d6c51 pkg/util/node: update GetZoneKey to check both beta and GA labels
Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
2019-11-07 21:22:04 -05:00
draveness
b1e52d1fc2 fix: return NodeScore in even pods spread priority 2019-11-08 08:54:55 +08:00
Kubernetes Prow Robot
62f66ea2f5
Merge pull request #84905 from draveness/feature/remove-deprecated-priority-register
feat(scheduler): remove deprecated pattern in scheduler priority
2019-11-07 13:28:34 -08:00
Kubernetes Prow Robot
a82092442f
Merge pull request #84635 from danielqsj/CheckServiceAffinity
Migrate CheckServiceAffinity custom predicate to Filter plugin
2019-11-07 09:04:39 -08:00
Kubernetes Prow Robot
d22e04c181
Merge pull request #84337 from hex108/cancel_context
Cancel context when RunPermitPlugins finishes
2019-11-07 09:04:10 -08:00
draveness
3bb88356f4 feat(scheduler): remove deprecated pattern in scheduler priority 2019-11-07 22:43:07 +08:00
danielqsj
c0bbc4ce82 Migrate CheckServiceAffinity custom predicate to Filter plugin 2019-11-07 21:46:22 +08:00
Kubernetes Prow Robot
916776c394
Merge pull request #84873 from ahg-g/ahg-equal
delete EqualPriority priority function, and make registering it a no op
2019-11-07 04:36:58 -08:00
Kubernetes Prow Robot
05fea1e437
Merge pull request #84834 from ahg-g/ahg-fwk
Remove Framework dependency on nodeinfo snapshot
2019-11-07 04:36:29 -08:00
draveness
652baf1860 feat: update interpod affinity priority with map reduce pattern 2019-11-07 08:52:37 +08:00
Kubernetes Prow Robot
46472773cb
Merge pull request #84836 from yuxiaobo96/k8s-checks
Correct spelling mistakes
2019-11-06 12:21:11 -08:00
Kubernetes Prow Robot
b09b962d96
Merge pull request #84746 from Huang-Wei/move-sched-constrants
Move out const strings in pkg/scheduler/api/well_known_labels.go
2019-11-06 12:20:06 -08:00
Abdullah Gharaibeh
f3453a1842 delete EqualPriority priority function, and make registering it a no op 2019-11-06 13:59:32 -05:00
Abdullah Gharaibeh
6b4bd87ba3 Remove Framework dependency on nodeinfo snapshot 2019-11-06 08:37:57 -05:00
Kubernetes Prow Robot
a89265b441
Merge pull request #84845 from draveness/feature/selector-spread-as-score-plugin
feat: convert selector spread priority to score plugin
2019-11-06 05:02:00 -08:00
yuxiaobo
81e9f21f83 Correct spelling mistakes
Signed-off-by: yuxiaobo <yuxiaobogo@163.com>
2019-11-06 20:25:19 +08:00
draveness
089e85e098 feat: convert selector spread priority to score plugin 2019-11-06 15:48:29 +08:00
Alex Wang
e85ebccb57 enable profiling by default in the scheduler 2019-11-06 15:25:35 +08:00
Kubernetes Prow Robot
f35a92ccf8
Merge pull request #84824 from ahg-g/ahg-nodes-with-affinity-pods
Tracking nodes with pods with affinity
2019-11-05 22:19:41 -08:00
Kubernetes Prow Robot
3d0f737cd9
Merge pull request #84816 from liu-cong/nodelabel
Aggregate mulitple NodePreference custom priorities to a single score plugin.
2019-11-05 22:19:30 -08:00
Kubernetes Prow Robot
3c4ae1c89a
Merge pull request #84606 from alculquicondor/test/priorities
Add benchmark test to compare EvenPodsSpreadPriority and SelectorSpreadingPriority
2019-11-05 22:18:10 -08:00
Kubernetes Prow Robot
042b17ef19
Merge pull request #83619 from damemi/cc-nilable
Change Scheduler ComponentConfig fields to nilable pointers
2019-11-05 22:17:13 -08:00
Wei Huang
019d7497a5
bazel files 2019-11-05 20:57:21 -08:00
Wei Huang
dd74205bcf
Move out const strings in pkg/scheduler/api/well_known_labels.go 2019-11-05 20:56:21 -08:00
Abdullah Gharaibeh
c33f217a5d tracking nodes with pod with affinity 2019-11-05 20:02:33 -05:00
Kubernetes Prow Robot
83b991a9c6
Merge pull request #84578 from denkensk/add-event-deleteandreject-podinwaiting
Update the event handler for deleting pods to reject the waiting pod
2019-11-05 15:31:18 -08:00
Mike Dame
9e2591f867 Change scheduler ComponentConfig fields to nilable
As part of graduating the scheduler's component config to beta, we require configurable fields to be nilable pointers (see https://github.com/kubernetes/kubernetes/issues/78109). This enables the ability to distinguish between default and unset values. We are only applying this change to external types, and reacting in our defaulting logic. This also reverts existing internal component config fields which were pointers to be non-pointers, for consistency.
2019-11-05 17:06:06 -05:00
Cong Liu
97d641b129 Aggregate mulitple NodePreference custom priorities to a single score plugin. 2019-11-05 16:25:19 -05:00
Kubernetes Prow Robot
75aca1fe03
Merge pull request #84795 from ahg-g/ahg-custom
Convert multiple node label predicates to be a single filter plugin
2019-11-05 11:45:11 -08:00
Abdullah Gharaibeh
134baa50b9 Convert multiple node label predicates to be a single filter plugin. 2019-11-05 10:34:51 -05:00
Alex Wang
83dce763ec add event to remove and reject waitingpods 2019-11-05 22:04:44 +08:00
Abdullah Gharaibeh
f8ae5cdaf8 expose PredicateMetadataProducer in generic scheduler 2019-11-05 05:17:47 -05:00
Aldo Culquicondor
75d5227225 Add benchmark test to compare EvenPodsSpreadPriority and SelectorSpreadPriority
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-11-04 13:29:17 -05:00
Cong Liu
b19f478b57 Validate custom priority policy config.
- Do not validate redeclartion of custom predicates.
- Validate no duplicate declaration of RequestedToCapacityRatio
- Validate the weights across multiple declarations of LabelPreference/ServiceAntiAffinity are the same.
2019-11-04 11:13:43 -05:00
Wei Huang
703a669db3
autogen files
- make generated_files
- update-bazel.sh & update-vendor.sh)
2019-11-01 14:38:09 -07:00
Wei Huang
c649666b4a
manual API changes and code refactoring
- add Policy API to pkg/scheduler/apis/config and staging/src/k8s.io/kube-scheduler/config/v1
- dual-register Policy as apiGroup "v1" and "kubescheduler.config.k8s.io
- move/merge pkg/scheduler/api to pkg/scheduler/apis/config/...
- alias schedulerapi to pkg/scheduler/apis/config
- alias legacyapi to pkg/scheduler/api
- eliminate latest.Codec; use scheme.Codecs instead
- unit tests to verify Policy YAML with version "v1" or "kubescheduler.config.k8s.io/v1" can be loaded properly
- update api/api-rules/violation_exceptions.list
2019-11-01 14:24:36 -07:00
SataQiu
89c3673a53 scheduler: improve some comments and validation messages 2019-11-01 18:30:54 +08:00
caiweidong
fd6983c70f simplify volume zone checker 2019-11-01 13:38:25 +08:00
Kubernetes Prow Robot
345ca19369
Merge pull request #84262 from Huang-Wei/eps-prio-migration
Migrate EvenPodsSpread priority implementation  as Score plugin with map/reduce style
2019-10-31 14:18:38 -07:00
draveness
b8a353a8a6 feat: make prioritizeNodes private function of genericScheduler 2019-10-31 19:43:53 +08:00
Wei Huang
90603728fb
Migrate EvenPodsSpread Priority as Score plugin in map/reduce style 2019-10-31 00:52:37 -07:00
Kubernetes Prow Robot
a381f7cb3e
Merge pull request #83508 from damemi/scheduler-cache-metric
Add scheduler cache size metrics
2019-10-30 16:55:36 -07:00
Mike Dame
828d6622a9 Update bazel 2019-10-30 15:33:29 -04:00
Mike Dame
4735011287 Add scheduler cache size metrics 2019-10-30 15:33:29 -04:00
Kubernetes Prow Robot
409b468734
Merge pull request #84520 from mrkm4ntr/migrate-requested-to-capacity-ratio
RequestedToCapacityRatio as score plugin
2019-10-30 10:32:54 -07:00
Shintaro Murakami
4b72af9f00 RequestedToCapacityRatio as score plugin 2019-10-30 22:00:20 +09:00
Abdullah Gharaibeh
0a29c06ba6 delete nodeinfo lister 2019-10-30 08:59:18 -04:00
Kubernetes Prow Robot
86dbdbeb53
Merge pull request #84190 from notpad/bug/84161
Apply feature gates in scheduler policy api compatibility test
2019-10-30 04:10:53 -07:00
Kubernetes Prow Robot
87c60f32ff
Merge pull request #84542 from Huang-Wei/priority-meta-signature
Expose filteredNodes to func PriorityMetadataProducer
2019-10-30 02:30:59 -07:00
Kubernetes Prow Robot
8d8a068486
Merge pull request #83963 from damemi/duplicate-policies
Add Scheduler validation check for redeclared policy configs
2019-10-29 23:14:53 -07:00
Wei Huang
a4305a356c
Expose filteredNodes to func PriorityMetadataProducer 2019-10-29 18:40:47 -07:00
Abdullah Gharaibeh
c6baa263a3 Update priorities to use SharedLister instead of using the snapshot directly 2019-10-29 16:22:00 -04:00
Kubernetes Prow Robot
5f900f6332
Merge pull request #84389 from ahg-g/ahg-interpod
Predicates use SharedLister interface instead of NodeInfo Map
2019-10-29 13:06:53 -07:00
Jun Gong
81b705960f Cancel context to make sure all plugins are cancelled when each schedule finishes 2019-10-29 22:37:59 +08:00
Jun Gong
b4c2b00690 Make sure score plugins are executed when no priority configured 2019-10-29 17:25:35 +08:00
Mike Dame
0f15705328 Add unit test for scheduler custom policy redeclaration validation 2019-10-28 16:26:13 -04:00
Kubernetes Prow Robot
badcd4af3f
Merge pull request #84084 from wojtek-t/migrate_scheduler_to_endpoints_lease_lock
Migrate components to EndpointsLeases leader election lock
2019-10-28 08:43:27 -07:00
wojtekt
ce499ac286 Migrate components to EndpointsLeases leader election lock 2019-10-28 09:09:03 +01:00
Jun Gong
2a85727ec5 When schedule begins, run snapshot before prefilter plugins 2019-10-28 14:59:42 +08:00
Kubernetes Prow Robot
41730db3f0
Merge pull request #84297 from liu-cong/custompred
Convert NodeLabelPresence custom predicate to filter plugin.
2019-10-26 09:57:23 -07:00
Kubernetes Prow Robot
d379ab2697
Merge pull request #84288 from wojtek-t/cleanup_conversions_registrations
Cleanup conversions registrations
2019-10-25 22:53:22 -07:00
Cong Liu
571cea0519 Convert NodeLabelPresence custom predicate to filter plugin. 2019-10-25 19:31:17 -04:00
notpad
f67ccbeee5 Apply feature gates in scheduler policy api compatibility test 2019-10-26 07:28:01 +08:00
Abdullah Gharaibeh
05cb382357 Update PredicateMetadataProducer to accept a scheduler SharedLister instead of nodeinfomap 2019-10-25 19:19:23 -04:00
Abdullah Gharaibeh
8ec56aeafb Change all scheduler's Node and Pod list/lookups to be from the snapshot rather than the cache. 2019-10-25 14:24:55 -04:00
Kubernetes Prow Robot
4ee1e7510f
Merge pull request #84328 from zouyee/renamefakelister
rename scheduler fake listers
2019-10-25 11:15:51 -07:00
zouyee
b86dbb97df rename scheduler fake listers
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-10-25 13:09:01 +08:00
Jordan Liggitt
0e2f2dde4d Feature-gate CSINode and CSIDriver informer starts 2019-10-24 17:44:25 -04:00
Kubernetes Prow Robot
09a251ce92
Merge pull request #84274 from liggitt/beta-gate-pdb-informers
Feature-gate PDB informer starts
2019-10-24 11:56:34 -07:00
Kubernetes Prow Robot
b0c0155c19
Merge pull request #84192 from zouyee/removewrapper
Remove wrappers around storage-related listers in the predicate
2019-10-24 11:56:10 -07:00
Kubernetes Prow Robot
4fdf582687
Merge pull request #84011 from liu-cong/permit
Add permit_wait_duration_seconds metric for scheduler.
2019-10-24 11:55:41 -07:00
wojtekt
7b6bcdf780 Autogenerated code 2019-10-24 20:21:00 +02:00
zouyee
3bfdcf56e6 Remove wrappers around storage-related listers in the predicate
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-10-24 23:26:15 +08:00
Kubernetes Prow Robot
c08161a781
Merge pull request #84268 from draveness/feature/remove-wait-for-cache-sync
feat: remove WaitForCacheSync from scheduler factory
2019-10-24 06:12:20 -07:00
Kubernetes Prow Robot
2905275a08
Merge pull request #84264 from ahg-g/ahg-antiaffinity
Optimize interpod affinity priority function
2019-10-24 00:47:20 -07:00
Jordan Liggitt
feac7a40f5 Feature-gate PDB informer starts 2019-10-24 01:17:39 -04:00
draveness
76a42fb29b feat: remove WaitForCacheSync from scheduler factory 2019-10-24 10:19:35 +08:00
Abdullah Gharaibeh
b213255bc8 interpod affinity prioritize 2019-10-23 21:03:02 -04:00
Mike Dame
5296650c1c Add Scheduler validation check for redeclared plugin configs 2019-10-23 17:07:55 -04:00
Abdullah Gharaibeh
373cf8c1b1 move nodeinfo/snapshot.go into its own package 2019-10-23 16:12:13 -04:00
Kubernetes Prow Robot
a90b9402c9
Merge pull request #84232 from ahg-g/ahg-tree2
fixed node search starting point
2019-10-23 12:52:16 -07:00
Kubernetes Prow Robot
4f63f61c36
Merge pull request #84193 from ahg-g/ahg-list
Separate scheduler listers into their own package
2019-10-23 12:51:30 -07:00
Cong Liu
f32d735b50 Add permit_wait_duration_seconds metric for scheduler. 2019-10-23 09:01:27 -04:00
Abdullah Gharaibeh
d17cf7ddff fixed node search starting point 2019-10-23 07:51:56 -04:00
Kubernetes Prow Robot
0c3424f53c
Merge pull request #83535 from wgliang/cleanup/scheduler_goroutines
Add a metric to track number of scheduler binding and prioritizing goroutines
2019-10-22 23:18:41 -07:00
Abdullah Gharaibeh
d393804237 separate listers into their own package 2019-10-22 18:11:02 -04:00
draveness
09f333940e feat: remove CheckNodeMemoryPressure/DiskPressure/PIDPressure/Condition predicates 2019-10-22 15:28:32 +08:00
Kubernetes Prow Robot
ffffd6b6f5
Merge pull request #84148 from gongguan/filter_plugin
[migration phase 1] Add filter plugin for cloud provider storage predicate
2019-10-21 21:12:19 -07:00
Kubernetes Prow Robot
899ca689ad
Merge pull request #83983 from phiremande/phk-kube-dev
Issue 83458:Changed the return check for GetNodeInfo
2019-10-21 21:11:58 -07:00
Kubernetes Prow Robot
8138e8d012
Merge pull request #83310 from SataQiu/clean-scheduler-20190930
scheduler: make getVolumeLimits a function instead of a method
2019-10-21 12:38:06 -07:00
Pradeep Hiremande
678b670f92 Issue 83458:Changed the return check for GetNodeInfo 2019-10-21 21:51:31 +05:30
louisgong
70ca08ec89 filter plugin for cloud provider storage predicate 2019-10-21 23:56:23 +08:00
Guoliang Wang
9d173852c1 Add a metric to track number of scheduler prioritizing goroutines 2019-10-21 16:38:14 +08:00
Guoliang Wang
08f7b22025 Add a metric to track number of scheduler binding goroutines 2019-10-21 16:38:12 +08:00
Kubernetes Prow Robot
ac6c77c440
Merge pull request #84121 from zouyee/renamefit
rename FilterPlugin NodeResources
2019-10-20 20:45:37 -07:00
Kubernetes Prow Robot
019b662ff5
Merge pull request #84017 from ahg-g/ahg-csi
Remove CSINode from scheduler cache.
2019-10-20 03:17:37 -07:00
zouyee
04340eaa34 rename FilterPlugin NodeResources
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-10-20 12:51:16 +08:00
Kubernetes Prow Robot
e1685b5b59
Merge pull request #84074 from zouyee/proirity
LeastRequestedPriority/MostRequestedPriority/BalancedResourceAllocation as Score plugins
2019-10-19 17:21:37 -07:00
Kubernetes Prow Robot
9c25b16d88
Merge pull request #84099 from draveness/feature/remove-lister-wrapper
feat(scheduler): replace several algorithm listers with client listers
2019-10-19 08:05:37 -07:00
zouyee
bd4167d149 remove unused meta and rename lablance_allocated
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-10-19 22:43:15 +08:00
Kubernetes Prow Robot
7e53c9d808
Merge pull request #83756 from hex108/permit
Refactor scheduler's framework permit API
2019-10-19 06:47:37 -07:00
zouyee
408c9da2a6 LeastRequestedPriority/MostRequestedPriority/BalancedResourceAllocation as Score plugins
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-10-19 20:49:05 +08:00
draveness
ce33fcc311 feat: remove FakePDBLister 2019-10-19 19:10:42 +08:00
draveness
00a12c787c feat: implement node unschedulable as a filter plugin 2019-10-19 17:29:25 +08:00
draveness
e1f86e3460 feat(scheduler): replace several algorithm listers with client listers 2019-10-19 17:26:32 +08:00
Jun Gong
38b7668bb3 Refactor scheduler's framework permit API 2019-10-19 16:22:39 +08:00
Kubernetes Prow Robot
2b79d284fd
Merge pull request #84066 from Huang-Wei/eps-migration
Migrate EvenPodsSpread Predicate to Filter plugin
2019-10-18 21:54:12 -07:00
Abdullah Gharaibeh
a772722660 Remove CSINode from scheduler cache. 2019-10-19 03:52:22 +00:00
Kubernetes Prow Robot
aab740ffc2
Merge pull request #82703 from draveness/feature/graduate-taint-nodes-by-condition-to-ga
feat: update taint nodes by condition to GA
2019-10-18 20:01:37 -07:00
draveness
1163a1d51e feat: update taint nodes by condition to GA 2019-10-19 09:17:41 +08:00
Kubernetes Prow Robot
98fcf2e6c7
Merge pull request #84034 from mrkm4ntr/use-informer-factory
Use frameworkHandle to get listers
2019-10-18 15:21:57 -07:00
Kubernetes Prow Robot
70f68062ad
Merge pull request #84014 from ahg-g/ahg-tree
Make node tree order part of the snapshot
2019-10-18 15:21:37 -07:00
Wei Huang
64ff958e69
migrate EvenPodsSpread Predicate to Filter plugin 2019-10-18 14:18:02 -07:00
Abdullah Gharaibeh
63d7733e98 create an ordered list of nodes instead of iterating over the tree 2019-10-18 12:51:46 -04:00
Shintaro Murakami
bf256bcb00 Use frameworkHandle to get listers 2019-10-19 01:29:05 +09:00
Kubernetes Prow Robot
27c679baca
Merge pull request #83982 from lichuqiang/frame_mig1
[migration phase 1] MatchInterPodAffinity as filter plugin
2019-10-18 09:23:58 -07:00
Kubernetes Prow Robot
422256110e
Merge pull request #84073 from draveness/feature/cleanup-framework-plugins
feat: several cleanups in the scheduling package
2019-10-18 04:43:57 -07:00
lichuqiang
671f7690fe [migration phase 1] MatchInterPodAffinity as filter plugin 2019-10-18 16:26:34 +08:00
Kubernetes Prow Robot
d1a79f136b
Merge pull request #84054 from ahg-g/ahg-gp
GeneralPredicate as framework plugin config
2019-10-17 21:19:58 -07:00
draveness
39af760930 feat: several cleanups in the scheduling package
+ Remove unused variable in tests.
+ Use more common statement for interface conformance check.
+ Fix several comments in the framework plugins.
2019-10-18 11:14:05 +08:00
Kubernetes Prow Robot
9bf2ba7369
Merge pull request #84015 from ahg-g/ahg-filters
cleanup unnecessary func parameters in genericScheduler methods
2019-10-17 19:50:56 -07:00
Kubernetes Prow Robot
91050062f9
Merge pull request #83894 from notpad/feature/migration_nodevolumelimit
[migration phase 1] CSIMaxVolumeLimitChecker as filter plugin
2019-10-17 19:50:41 -07:00
Abdullah Gharaibeh
517116921b GeneralPredicate as plugin config 2019-10-17 11:13:57 -04:00
Abdullah Gharaibeh
1293facf7b cleanup unnecessary func parameters in genericScheduler methods 2019-10-17 10:31:14 -04:00
notpad
f06925b0ee [migration phase 1] CSIMaxVolumeLimitChecker as filter plugin 2019-10-17 22:04:02 +08:00
draveness
3d74da4d53 feat(scheduler): implement node affinity as score plugin 2019-10-17 17:02:10 +08:00
Kubernetes Prow Robot
3719fcdffa
Merge pull request #82072 from draveness/feature/use-context-instead-of-channel
feat(scheduler): use context in scheduler package
2019-10-17 01:46:39 -07:00
Abdullah Gharaibeh
17a6a7914c make sure filters are executed when no predicates configured 2019-10-16 21:27:57 -04:00
draveness
47a6c5b693 feat(scheduler): use context in the scheduler package
+ Use context instead of stopCh
+ Add context to the scheduling framework interface
2019-10-17 09:03:55 +08:00
Kubernetes Prow Robot
f7091992c0
Merge pull request #83577 from liu-cong/queue-metrics
Add incoming pod metrics to scheduler queue.
2019-10-16 17:34:39 -07:00
Kubernetes Prow Robot
0e2383df15
Merge pull request #83893 from draveness/feature/node-prefer-avoid-pods
feat(scheduler): implement NodePreferAvoidPods as score plugin
2019-10-16 11:37:30 -07:00
Cong Liu
fc226e0670 Add incoming pod metrics to scheduler queue. 2019-10-16 14:26:16 -04:00
Kubernetes Prow Robot
99ad2f4303
Merge pull request #83921 from ahg-g/ahg-nodelist
Move scheduler cache ListNodes interface to snapshot
2019-10-16 09:35:09 -07:00
Kubernetes Prow Robot
1552ba6b00
Merge pull request #83569 from liu-cong/framework-metrics
Add metrics for scheduler framework.
2019-10-15 23:05:28 -07:00
Cong Liu
da30a00f9a Add metrics for scheduler framework. 2019-10-14 20:26:03 -04:00
Abdullah Gharaibeh
e073e56095 move scheduler cache ListNodes interface to snapshot 2019-10-14 17:47:42 -04:00
draveness
2d7044a556 feat(scheduler): implement NodePreferAvoidPods as score plugin 2019-10-14 21:21:24 +08:00
notpad
4ff7251026 [migration phase 1] VolumeZoneChecker as filter plugin 2019-10-14 07:45:40 +08:00
Kubernetes Prow Robot
5a427e8704
Merge pull request #83659 from wgliang/scheduler-v2/pod-fits-host-ports
[migration phase 1] PodFitsHostPorts as filter plugin
2019-10-13 11:18:35 -07:00
Kubernetes Prow Robot
dd5cb6426d
Merge pull request #83849 from draveness/feature/node-locality-as-score-plugin
feat: implement imagelocality as a score plugin
2019-10-13 06:36:35 -07:00
draveness
6f6618fc5d feat: implement imagelocality as a score plugin 2019-10-13 19:58:21 +08:00
Guoliang Wang
78be6a628d [migration phase 1] PodFitsHostPorts as filter plugin 2019-10-13 19:47:26 +08:00
Kubernetes Prow Robot
a78340410e
Merge pull request #83650 from wgliang/scheduler-v2/pod-fits-resources
[migration phase 1] PodFitsResources as framework plugin
2019-10-13 03:38:36 -07:00
Guoliang Wang
4ca3d9ca48 [migration phase 1] PodFitsResources as framework plugin 2019-10-13 12:02:24 +08:00
Ahmad Diaa
4448a1cea9 move factory package to scheduler 2019-10-12 23:03:07 +02:00
Kubernetes Prow Robot
aee99ce807
Merge pull request #83558 from hprateek43/sortable_list_package
Move Sortable List into its own package
2019-10-12 11:40:38 -07:00
Harsh Singh
589656108e Replaced sortable list with native golang slice. 2019-10-12 21:57:28 +05:30
Guoliang Wang
0a1808a570 [migration phase 1] PodMatchNodeSelector/NodAffinity as filter plugin 2019-10-12 14:49:55 +08:00
Kubernetes Prow Robot
a7a6ca80d8
Merge pull request #83731 from notpad/feature/migration_nodiskconflict
[migration phase 1] NoDiskConflict as filter plugin
2019-10-11 21:16:52 -07:00
Kubernetes Prow Robot
08ab271105
Merge pull request #83389 from ahmad-diaa/move-PodPreemptor-to-sched
Move PodPreemptor to Scheduler
2019-10-11 21:16:39 -07:00
notpad
9e426a6be1 [migration phase 1] NoDiskConflict as filter plugin 2019-10-12 08:00:44 +08:00
Kubernetes Prow Robot
1e5a9f3ff4
Merge pull request #83522 from draveness/feature/expand-node-score-range
feat(scheduler): expand node score range to [0, 100]
2019-10-11 16:20:38 -07:00
Ahmad Diaa
6bbc607d72 move PodPreemptor to scheduler 2019-10-11 22:57:39 +02:00
Kubernetes Prow Robot
54f089fa08
Merge pull request #83603 from Tabrizian/master
feat: change the `pod_preemption_victims` to Histogram
2019-10-11 10:53:43 -07:00
Kubernetes Prow Robot
77b86c4adf
Merge pull request #83764 from cofyc/fix83635
[migration phase 1] Implement CheckVolumeBinding as a filter plugin
2019-10-11 09:29:52 -07:00
Kubernetes Prow Robot
c980000176
Merge pull request #83663 from draveness/feature/add-shared-informers-factory
feat(scheduler): expose SharedInformerFactory to the framework handle
2019-10-11 09:29:40 -07:00
draveness
1f52bd80d1 feat(scheduler): expand node score range to [0, 100] 2019-10-11 23:43:09 +08:00
Kubernetes Prow Robot
d38f340e4f
Merge pull request #83539 from wgliang/cleanup/trace-steps-generic_scheduler
Add more tracing steps in generic_scheduler
2019-10-11 07:29:41 -07:00
Yecheng Fu
e8795562f9 [migration phase 1] Implement CheckVolumeBinding as a filter plugin 2019-10-11 20:35:11 +08:00
Guoliang Wang
b9167334ee [migration phase 1] PodFitsHost as filter plugin 2019-10-11 17:05:04 +08:00
Kubernetes Prow Robot
c1a735c642
Merge pull request #83601 from ahg-g/ahg-migration-priority
Implemented taints and tolerations priority function as a Score plugin
2019-10-11 00:05:50 -07:00
Guoliang Wang
d3e8f17987 Add more tracing steps in generic_scheduler 2019-10-11 10:39:41 +08:00
draveness
ee4dec65b5 feat(scheduler): expose SharedInformerFactory to the framework handle 2019-10-11 10:23:21 +08:00
Kubernetes Prow Robot
a5e6ac0a95
Merge pull request #83694 from ahg-g/ahg-adv-config
[migration phase 1] Make scheduler cache, volume binder and listers available when registering default plugins
2019-10-10 19:00:21 -07:00
Abdullah Gharaibeh
7429b0fe86 Implemented taints and tolerations priority function as a Score plugin 2019-10-10 17:49:40 -04:00
Cong Liu
085852160a Add per-pod metrics for scheduler. 2019-10-10 16:58:21 -04:00
Abdullah Gharaibeh
456df97745 made scheduler cache and volume binder available when instantiating factories for default plugins 2019-10-10 16:21:29 -04:00
Kubernetes Prow Robot
2d8b8703de
Merge pull request #83686 from ahg-g/ahg-noop
Remove the no-op plugin
2019-10-10 01:12:53 -07:00
Iman Tabrizian
451a535401 feat: feat: change the pod_preemption_victims to Histogram 2019-10-09 18:28:32 -04:00
Abdullah Gharaibeh
36a0f8a03f remove the no-op plugin that we used as an example plugin in default registry 2019-10-09 12:30:08 -04:00
draveness
9646afb1f5 feat: add pod initial/max backoff duration to config API 2019-10-09 19:48:28 +08:00
Kubernetes Prow Robot
e62ed95ecd
Merge pull request #83611 from RainbowMango/pr_refactor_scheduler_test_with_testutils
Refactor scheduler metric test with testutils
2019-10-08 20:00:25 -07:00
Kubernetes Prow Robot
0110db3a14
Merge pull request #83537 from ahg-g/ahg-metadata
Added PredicateMetadata and PriorityMetadata to framework's CycleState
2019-10-08 18:37:50 -07:00
Kubernetes Prow Robot
464952fcc8
Merge pull request #83286 from draveness/feature/refactor-predicate-metadata
feat(scheduler): refactor predicateMetadata into a collection of sub types
2019-10-08 15:42:42 -07:00
Abdullah Gharaibeh
1751c251d8 Addressed comments 2019-10-08 16:13:13 -04:00
Kubernetes Prow Robot
1501de6a56
Merge pull request #78461 from mysunshine92/correct-return-information-scheduler
correct the return information in scheduler.go
2019-10-08 09:37:13 -07:00
RainbowMango
c03b516d3a Deal with auto-generated files.
Update bazel by hack/update-bazel.sh;
Update vendor by hack/update-vendor.sh;
2019-10-08 15:55:12 +08:00
RainbowMango
832a4fbe99 Refactor metrics test from kube-schedule queue. 2019-10-08 15:39:30 +08:00
Abdullah Gharaibeh
bc550b0896 Added PredicateMetadata and PriorityMetadata as CycleState to the framework 2019-10-07 22:25:08 -04:00
draveness
9554276d17 feat(scheduler): create metadata and addPod/removePod for migration 2019-10-08 10:05:22 +08:00
draveness
ab3f55720b feat(scheduler): expose kubernetes client in framework handle 2019-10-06 10:31:49 +08:00
Kubernetes Prow Robot
1f81255070
Merge pull request #83460 from ahg-g/ahg-first-predicate
[migration phase 1] Implement PodToleratesNodeTaint as a filter plugin
2019-10-05 14:07:11 -07:00
Abdullah Gharaibeh
66386fdf49 Added the first predicate as a filter plugin: PodToleratesNodeTaints. 2019-10-05 08:43:17 -04:00
Kubernetes Prow Robot
9522fb09f9
Merge pull request #83233 from hprateek43/heapPackageMovement
Move heap into its own internal package
2019-10-05 03:15:23 -07:00
Kubernetes Prow Robot
4e1214c149
Merge pull request #83506 from alculquicondor/cleanup/framework_new
Cleanup reflection usage in framework creation
2019-10-04 16:31:44 -07:00
Harsh Singh
f462a31e9b Move heap into its own internal package 2019-10-05 01:24:36 +05:30
Abdullah Gharaibeh
043166f54b Modified the name of the Extensions method in the scheduler's framework. 2019-10-04 15:53:06 -04:00
Kubernetes Prow Robot
ca038117b2
Merge pull request #83490 from draveness/feature/scale-extender-output
feat(scheduler): scale the extender output in generic scheduler
2019-10-04 10:22:52 -07:00
Kubernetes Prow Robot
eba349b855
Merge pull request #83430 from draveness/feature/rename-plugincontext-to-cyclestate
feat(scheduler): rename PluginContext to CycleState
2019-10-04 10:22:32 -07:00
Kubernetes Prow Robot
6dde8daa76
Merge pull request #83030 from obitech/kube_scheduler_strict_serializer
Enable strict serializer in kube-scheduler
2019-10-04 10:22:04 -07:00
Aldo Culquicondor
984c4e8cc2 Cleanup reflection usage in framework creation
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-10-04 12:40:21 -04:00
draveness
27326e4f9a feat(scheduler): scale the extender output in generic scheduler 2019-10-04 17:32:34 +08:00
draveness
c73ff9749b feat(scheduler): rename PluginContext to CycleState 2019-10-04 17:30:36 +08:00
Kubernetes Prow Robot
3317805652
Merge pull request #83243 from draveness/feature/use-reflect-in-new-registry
feat(scheduler): use reflect to reduce the similar pattern
2019-10-03 14:39:54 -07:00
Kubernetes Prow Robot
0a17315e18
Merge pull request #83418 from ahg-g/ahg-first-priority
Refactor scheduler.New so that all framework-related parameters are options
2019-10-03 10:00:11 -07:00
Abdullah Gharaibeh
30e7016ccf Refactor scheduler.New so that all framework-related parameters are passed as options 2019-10-03 11:39:59 -04:00
Kubernetes Prow Robot
d8a5e489ea
Merge pull request #83342 from ahmad-diaa/move-PodConditionUpdater-to-sched
Move PodConditionUpdater to Scheduler
2019-10-03 02:04:14 -07:00
draveness
5e84257133 feat(scheduler): use reflect to reduce the similar pattern 2019-10-03 10:46:19 +08:00
Ahmad Diaa
6c75e1baa2 move PodConditionUpdater to scheduler 2019-10-02 23:29:49 +02:00
draveness
9769d49bb5 feat(scheduler): remove MaxPriority in the scheduler api 2019-10-02 11:24:25 +08:00
Kubernetes Prow Robot
dc0013a506
Merge pull request #83365 from notpad/feature/83244
A consistent interface for plugin extended functionality
2019-10-01 13:01:11 -07:00
Wei Huang
a01259ef6f
bazel and codegen files 2019-10-01 09:51:40 -07:00
Wei Huang
cbdb4e3fdb
refactor scheduler extender related API
- move extender related API from pkg/scheduler/api to pkg/scheduler/apis/extender/v1

- alias extenderv1 to pkg/scheduler/apis/extender/v1

- use NodeScore and NodeScoreList in non-extender logic
2019-10-01 09:51:24 -07:00
notpad
fc55e74741 A consistent interface for plugin extended functionality 2019-10-01 23:59:48 +08:00
Kubernetes Prow Robot
a87c1b2d72
Merge pull request #83099 from ahg-g/ahg-config-layer2
[migration] Mapping Layer - 2. Convert predicates/priorities configurations to a framework plugin one.
2019-09-30 08:57:38 -07:00
Abdullah Gharaibeh
6120fe9b11 Convert predicates/priorities configurations to a framework plugin configs. 2019-09-30 10:36:52 -04:00
SataQiu
92300eaadb scheduler: make getVolumeLimits a function instead of a method 2019-09-30 16:25:31 +08:00
mengyang02
a638431e4d complete pkg/scheduler/util unit tests 2019-09-30 10:58:11 +08:00
Kubernetes Prow Robot
14e5adfc85
Merge pull request #82683 from davidz627/fix/translationStruct
Refactor CSI Translation Library into a struct that is injected into various components to simplify unit testing
2019-09-29 10:11:37 -07:00
Kubernetes Prow Robot
654aa1d846
Merge pull request #83234 from SataQiu/scheduler-cleanup-20190927
scheduler: change PredicateMetadata.AddPod to use *v1.Node insead of rich *schedulernodeinfo.NodeInfo
2019-09-28 23:49:37 -07:00
SataQiu
bcaa991676 scheduler: code clean up for predicates/metadata 2019-09-29 10:11:53 +08:00
Kubernetes Prow Robot
29f23e6647
Merge pull request #83220 from RainbowMango/pr_remove_direct_reference_to_label
Remove direct reference to label
2019-09-28 11:47:38 -07:00
David Zhu
92cb06a2e7 Refactor CSI Translation Library into a struct that is injected into various components to simplify unit testing in future 2019-09-27 12:59:53 -07:00
SataQiu
20e3580066 scheduler: handle error of podSpreadCache.removePod method 2019-09-27 16:23:56 +08:00
RainbowMango
c0c1d8e985 Update bazel by hack/update-bazel.sh 2019-09-27 10:18:31 +08:00
RainbowMango
4cc175e8d8 Remove direct reference to prometheus.Label for scheduler 2019-09-27 10:16:31 +08:00
Kubernetes Prow Robot
5e4abfb946
Merge pull request #83042 from draveness/feature/remove-score-with-normalize-extension
feat(scheduler): consolidate ScoreWithNormalizePlugin into ScorePlugin
2019-09-26 10:49:20 -07:00
obitech
6acef2b94c Enable strict serializer with codec factory
- Enabling strict serializer will throw errors on e.g. duplicate
  or unknown fields in YAML configs
- Add test cases for duplicate and unknown fields
2019-09-26 17:41:07 +02:00
Kubernetes Prow Robot
67d750bb28
Merge pull request #81916 from hwdef/fix-typo-pkg
fix typo in pkg
2019-09-26 08:35:24 -07:00
Kubernetes Prow Robot
b34eede084
Merge pull request #83080 from ahg-g/ahg-config-layer
Mapping Layer - 1. A mapping from predicates/priorities to plugin configuration
2019-09-25 22:05:20 -07:00
draveness
314ec4e504 feat(scheduler): consolidate ScoreWithNormalizePlugin into ScorePlugin 2019-09-26 10:19:06 +08:00
Abdullah Gharaibeh
a57ac0725a A mapping from predicates/priorities to pluing configuration.
This PR only implements the mapping, but does not use it. A followup PR will use this mapping to produce a framework configuration that redirects mapped predicates/priorites to be exected as plugins.
2019-09-25 22:10:30 -04:00
Kubernetes Prow Robot
0b4cccc9d1
Merge pull request #82912 from ahg-g/ahg-prefilter-update
An interface that allows pre-filter plugins to update their pre-calculated status
2019-09-25 11:06:40 -07:00
Kubernetes Prow Robot
8ad1aba7f5
Merge pull request #82465 from hprateek43/MoveGetPodPriority
Move GetPodPriority from /scheduler/util to /api/pod
2019-09-25 11:06:00 -07:00
Kubernetes Prow Robot
8274bec900
Merge pull request #82990 from SataQiu/cleanup-scheduler-20190922
Clean up code about scheduler algorithm
2019-09-24 13:37:38 -07:00
Abdullah Gharaibeh
37b9e6d1ea An interface that allows pre-filter plugins to update their pre-calculated.
This is needed to allow efficient preemption simulations: during preemption, we remove/add pods from each node before running the filter plugins again to evaluate whether removing/adding specific pods will allow the incoming pod to be scheduled on the node. Instead of calling prefilter again, we should allow the plugin to do incremental update to its pre-computed state.
2019-09-24 13:01:50 -04:00
Harsh Singh
6a9ef7f04f Move GetPodPriority from /scheduler/util to /api/pod 2019-09-24 22:02:13 +05:30
Kubernetes Prow Robot
7c09b0b1ec
Merge pull request #81911 from ahmad-diaa/use-scheduler-in-createConfiguratorArgsWithPodInformer
Use scheduler.New() Instead of factory.NewConfigFactory() in Integration Test scheduler_test.go
2019-09-24 08:57:28 -07:00
Kubernetes Prow Robot
aba654f96b
Merge pull request #81744 from praseodym/fix-staticcheck-pkg/scheduler
Fix staticcheck failures for pkg/scheduler/...
2019-09-24 00:25:27 -07:00
Kubernetes Prow Robot
05aaeac8b2
Merge pull request #82951 from ahg-g/ahg-context
Updated ContextData and PluginContext with Clone methods.
2019-09-23 14:55:49 -07:00
Mark Janssen
345e528c86 Fix staticcheck failures for pkg/scheduler/... 2019-09-23 22:49:59 +02:00
Abdullah Gharaibeh
641317bdde Updated ContextData and PluginContext with Clone methods.
This is necessary to be able to clone PluginContext during preemption.
2019-09-23 14:34:40 -04:00
SataQiu
7cb4850699 clean up code for scheduler 2019-09-23 12:50:15 +08:00
Kubernetes Prow Robot
6d58376baa
Merge pull request #82896 from ahg-g/ahg-config
Refactor the scheduler's configuration logic.
2019-09-20 16:17:46 -07:00
Kubernetes Prow Robot
40a8d9ebee
Merge pull request #82735 from ahmad-diaa/remove-NewConfigFactory-compatibility-test
Improve Scheduler Compatibility Test
2019-09-20 16:17:37 -07:00
Ahmad Diaa
bf6a70a1ce use scheduler.Option in initTestSchedulerWithOptions 2019-09-21 00:06:42 +02:00
Ahmad Diaa
fda4d41ee5 change compatibility_test struct, remove ExpectedPolicy 2019-09-20 21:43:40 +02:00
Ahmad Diaa
009ffaf803 validate scheduler policy instead of the decoded policy in compatibility_test 2019-09-20 21:42:12 +02:00
Ahmad Diaa
104e368860 remove factory.NewConfigFactory in compatibility test 2019-09-20 21:41:51 +02:00
Kubernetes Prow Robot
33adc7fafa
Merge pull request #82841 from Huang-Wei/sched-panic
Fixed a scheduler panic when using PodAffinity (k8s version >= 1.15)
2019-09-19 14:21:11 -07:00
Abdullah Gharaibeh
dc28cfca72 Refactor the scheduler's configuration logic.
This PR modifies the scheduler's configurator to allow for instantiating the framework at a later stage in the configuration. Specifically at the point where we know exactly which predicates/priorities need to be configured.

This is necessary to allow converting predicates/priorities configuration into a plugin configuration to facilitate framework migration.
2019-09-19 15:43:26 -04:00
Kubernetes Prow Robot
d05183be41
Merge pull request #82858 from hwdef/del-unused-var
delete unused var
2019-09-19 11:05:49 -07:00
Wei Huang
4c9312fa7e
Fixed a scheduler panic on PodAffinity 2019-09-19 10:52:03 -07:00
Wei Huang
e85473c2df
Benchmark test for PodAffinity 2019-09-19 10:52:03 -07:00
hwdef
4e7ef9ad36 delete unused var 2019-09-19 18:04:13 +08:00
Abdullah Gharaibeh
89f936f6ac Modified the Filter interface to pass in nodeinfo instead of node name.
This is necessary to support preemption, which relies on passing modified nodeinfo objects to the filters to simulate evicting lower-priority pods.
2019-09-18 17:27:33 -04:00