Commit Graph

789 Commits

Author SHA1 Message Date
kerthcet
75a255d2ed remove scheduler component config v1beta1
Signed-off-by: kerthcet <kerthcet@gmail.com>
2021-09-28 13:13:17 +08:00
Yibo Zhuang
603a4e1931 Enhance ErrReasonPVNotExist in volumebinding scheduler plugin
This change will make the message more clear when there
is a case of PVC(s) bound to PV(s) that no longer exists
and scheduler does not select the node due to this issue.

Previous error message would look like:
0/2 nodes are available: 2 pvc(s) bound to non-existent pv(s)

Updated message looks like:
0/2 nodes are available: 2 node(s) unavailable due to one or more
pvc(s) bound to non-existent pv(s)

For larger clusters with many different reasons of nodes that
are not available, the current message can be very misleading for
users to think that there are many PVCs lost due to PVs deleted but
in fact it could be just a single PVC case but many nodes not selected
by the scheduler due to this case.

Signed-off By: Yibo Zhuang <yibzhuang@gmail.com>
2021-09-27 15:02:35 -07:00
Kubernetes Prow Robot
24408ef7f5
Merge pull request #104892 from zzchun/fix-typo-in-node_affinity_test
fix typo in node_affinity_test
2021-09-23 13:22:55 -07:00
Wei Huang
3b64c1b01d
sched: de-duplicate plugin registration logic by using FactoryAdapter 2021-09-20 10:12:34 -07:00
Kubernetes Prow Robot
fb70ca9b7b
Merge pull request #105046 from alculquicondor/system-spreading
Skip check for all topology labels when using system default spreading
2021-09-16 11:36:14 -07:00
Aldo Culquicondor
609306dd5b Skip check for all topology labels when using system default spreading
Checking for all topology labels is not backwards compatible. Clusters were nodes don't have zone labels effectively have default spreading disabled.

Change only applies to system defaults.
2021-09-16 09:37:56 -04:00
Patrick Ohly
1d656d46a2 scheduler: avoid repeated boilerplate code when registering plugins
Some plugins expect the new feature gate struct. We can inject that additional
parameter via a helper function instead of having to repeat the same anonymous
function for each plugin.
2021-09-16 11:23:57 +02:00
Yecheng Fu
82b50dcb7b scheduler/volumebinding: migrate to use pkg/scheduler/framework/plugins/feature 2021-09-11 10:17:28 +08:00
zzchun
7c17672ae7 fix typo in node_affinity_test
Signed-off-by: zzchun <zzchun@zju.edu.cn>
2021-09-10 15:10:24 +08:00
Dave Chen
6e1835b83b Fix couple of incorrect description
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-09-08 10:08:23 +08:00
Kubernetes Prow Robot
b12379ef1c
Merge pull request #104605 from pohly/ephemeral-volume-events
scheduler: more informative generic ephemeral volume events
2021-09-03 17:51:19 -07:00
zc
b33897f36d modify non-uniform aliases 2021-08-31 09:07:51 +08:00
Patrick Ohly
89cb4d0ee9 scheduler: better reason for delay with generic ephemeral volumes
These events are currently emitted for a pod using a generic ephemeral volume:

  Type     Reason            Age   From               Message
  ----     ------            ----  ----               -------
  Warning  FailedScheduling  3s    default-scheduler  0/1 nodes are available: 1 persistentvolumeclaim "my-csi-app-inline-volume-my-csi-volume" not found.
  Warning  FailedScheduling  2s    default-scheduler  0/1 nodes are available: 1 pod has unbound immediate PersistentVolumeClaims.

The one about "persistentvolumeclaim not found" is potentially confusing. It
occurs because the scheduler typically checks the pod before the ephemeral
volume controller had a chance to create the PVC.

This is a bit easier to understand:

  Type     Reason            Age   From               Message
  ----     ------            ----  ----               -------
  Warning  FailedScheduling  4s    default-scheduler  0/1 nodes are available: 1 waiting for ephemeral volume controller to create the persistentvolumeclaim "my-csi-app-inline-volume-my-csi-volume".
  Warning  FailedScheduling  2s    default-scheduler  0/1 nodes are available: 1 pod has unbound immediate PersistentVolumeClaims.
2021-08-30 10:06:59 +02:00
dntosas
cd795fa2eb
[scheduler] Remove deprecated volumeSchedulingLatency metric
As part of https://github.com/kubernetes/kubernetes/pull/100720 we
backported fix on existing releases and in this commit we completely
remove the deprecated metric from master branch.

Signed-off-by: dntosas <ntosas@gmail.com>
2021-08-23 15:18:16 +03:00
dntosas
7cbac6bde0 [volumeScheduling/metrics] Fix buckets initialization
This metrics is measured in seconds so it makes no sense starting from
1000 as init value. This breaks also the scheduler e2e metric thus make
users unable to compute, for example, their SLO for the scheduler.
Even if this metric is deprecated, it should behave correctly until it is
completely removed to avoid user confusion.

For example, for each volume created, the minimum value exposed
as a metric is 16.6min (1000sec/60) which is obviously wrong as logic.

In this commit, we migrate bucket creation to start from reasonable
numbers, copying the incrementation from the conventions that the
scheduler follows itself.

Signed-off-by: dntosas <ntosas@gmail.com>
2021-08-17 12:49:40 +03:00
Konstantin Misyutin
29bd66d018 Remove "pkg/controller/volume/scheduling" dependency from "pkg/scheduler/framework/plugins"
All dependencies of VolumeBinding plugin from
"k8s.io/kubernetes/pkg/controller/volume/scheduling" package moved to
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/volumebinding" package:

- whole file pkg/controller/volume/scheduling/scheduler_assume_cache.go
- whole file pkg/controller/volume/scheduling/scheduler_assume_cache_test.go
- whole file pkg/controller/volume/scheduling/scheduler_binder.go
- whole file pkg/controller/volume/scheduling/scheduler_binder_fake.go
- whole file pkg/controller/volume/scheduling/scheduler_binder_test.go

Package "k8s.io/kubernetes/pkg/controller/volume/scheduling/metrics" moved
to "k8s.io/kubernetes/pkg/scheduler/framework/plugins/volumebinding/metrics"
because it only used in VolumeBinding plugin and (e2e) tests.

More described in issue #89930 and PR #102953.

Signed-off-by: Konstantin Misyutin <konstantin.misyutin@huawei.com>
2021-08-13 19:08:45 +08:00
Kubernetes Prow Robot
27b02a3e37
Merge pull request #104030 from chendave/refactoring_new
Refactor defaultpreemption for out-of-tree plugins
2021-08-11 18:38:00 -07:00
Dave Chen
3af26bae2c Refactor defaultpreemption for out-of-tree plugins
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-08-11 09:29:17 +08:00
houjun
8dc091ef2e Fix wrong log 2021-07-26 11:38:02 +08:00
Kubernetes Prow Robot
ea3bcbc205
Merge pull request #101946 from chendave/balance_allocation
Support extended resource in NodeResourcesBalancedAllocation plugin
2021-07-06 10:42:19 -07:00
Yecheng Fu
83ee392ed4 implement EnqueueExtensions interface in volumebinding 2021-07-03 08:25:06 +08:00
Kubernetes Prow Robot
25bbe2ebc5
Merge pull request #99594 from cofyc/kep1845-api
Prioritizing nodes based on volume capacity: API changes
2021-07-01 15:35:51 -07:00
Yecheng Fu
b522e95aae Prioritizing nodes based on volume capacity: API changes 2021-07-01 10:00:59 +08:00
Kubernetes Prow Robot
385402d506
Merge pull request #103082 from chrishenzie/read-write-once-pod-access-mode-scheduler
Enforce ReadWriteOncePod during scheduling
2021-06-30 16:11:36 -07:00
Chris Henzie
7ad44d04fc Enforce ReadWriteOncePod access mode during scheduling
Check the PVC ref count on the node info cache to determine if a pod's
PVCs are in use. If they are and it is using ReadWriteOncePod, fail the
request.
2021-06-30 10:40:14 -07:00
Dave Chen
1fa673c15c Extent the NodeResourcesBalancedAllocation plugin to cover more resources
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-06-30 11:15:12 +08:00
Kubernetes Prow Robot
e0f66be1aa
Merge pull request #101822 from yuzhiquan/NodeResourcesFit-score
Add score func for NodeResourcesFit plugin
2021-06-29 13:42:20 -07:00
yuzhiquan
deb14b995a Add score plugin for NodeResourcesFit 2021-06-29 13:16:55 -04:00
Wei Huang
20f84b12a1
Optimize scheduler res scorer on non-requested extended res 2021-06-25 11:41:36 -07:00
Kubernetes Prow Robot
72fc6d9ea0
Merge pull request #103089 from chendave/ratio_cleanup
Simplify the formula used in the `RequestedToCapacityRatio` plugin
2021-06-22 12:00:23 -07:00
ravisantoshgudimetla
b6c75bee15 Remove balanced attached node volumes
kubernetes#60525 introduced
Balanced attached node volumes feature gate to include volume
count for prioritizing nodes. The reason for introducing this
flag was its usefulness in Red Hat OpenShift Online environment
which is not being used any more. So, removing the flag
as it helps in maintainability of the scheduler code base
as mentioned at kubernetes#101489 (comment)
2021-06-22 11:19:30 -04:00
Dave Chen
0f922b200f Simplify the formula used in the RequestedToCapacityRatio plugin
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-06-22 17:11:26 +08:00
Aldo Culquicondor
63d1237102 Fix Node Resources plugins score when there are pods with no requests
Given that we give a default CPU/memory requests for containers that don't provide any, the calculated usage can exceed the allocatable.

Change-Id: I72e249652acacfbe8cea0dd6f895dabe43ff6376
2021-06-16 20:36:07 +00:00
Wei Huang
36eaa11d50
cleanup usage of NewPodNominator
- replace NewPodNominator() with NewSafePodNominator()
- rename nominatedPodMap to nominator
2021-06-10 14:01:07 -07:00
Abdullah Gharaibeh
46f3e4dfdd Define in-tree scheduler plugin names in separate pkg to break a cyclic depednecy when moving plugin defaulting to CC 2021-06-09 15:36:09 -04:00
Kubernetes Prow Robot
6cb421487a
Merge pull request #99597 from adtac/v1b2
scheduler CC: add v1beta2 API, deprecate plugins
2021-06-08 12:26:08 -07:00
Adhityaa Chandrasekar
3c8e56bef9 scheduler: graduate CC to v1beta2, deprecate plugins
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2021-06-07 12:42:55 +00:00
Kubernetes Prow Robot
2e6e8857d1
Merge pull request #102518 from chendave/cleanup_constat
Cleanup redundant failure reason in InterPodAffinity plugin
2021-06-02 09:46:34 -07:00
Dave Chen
b049e1b9ab Cleanup redundant failure reason in InterPodAffinity plugin
Both `ErrReasonAffinityRulesNotMatch` and `ErrReasonAntiAffinityRulesNotMatch` are
more precise than `ErrReasonAffinityNotMatch`.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-06-02 11:52:55 +08:00
Abdullah Gharaibeh
4567a43101 Return UnschedulableAndUnresolvable when looking up volume-related resources returns NotFound error 2021-06-01 09:19:04 -04:00
Kubernetes Prow Robot
ae1f28d7b0
Merge pull request #102306 from ahg-g/ahg-vol-restrictions
Return UnschedulableAndUnresolvable instead of Error when failing to lookup volume-related resources
2021-05-27 20:48:25 -07:00
Kubernetes Prow Robot
2da8d1c18f
Merge pull request #102234 from sanposhiho/scheduler/add/interface-check-on-nodeaffinity
scheduler/add: interface check on nodeaffinity
2021-05-26 03:17:32 -07:00
Kubernetes Prow Robot
aa0017ad13
Merge pull request #102236 from ahg-g/ahg-spread
Use ownerReference to build default spreading constraints
2021-05-25 19:39:28 -07:00
Abdullah Gharaibeh
17551f291d Return UnschedulableAndUnresolvable instead of Error when failing to lookup pvc or storageclass in VolumeZone plugin 2021-05-25 18:58:11 -04:00
Abdullah Gharaibeh
6c0976814c use ownerReference to build default spreading contraints in the scheduler 2021-05-25 16:04:48 -04:00
sanposhiho
1b6895c11f Fix: remove framework.ScoreExtensions interface check 2021-05-25 13:57:30 +09:00
Kubernetes Prow Robot
5cdf7a714f
Merge pull request #100026 from minbaev/enqueue-extions-to-nvl
add enqueue-extensions nodevolumelimits plugin
2021-05-24 21:48:20 -07:00
Alexander Minbaev
3b4be144ab add enqueue-extensions nodevolumelimits plugin 2021-05-24 16:59:31 -05:00
sanposhiho
517feed45b Add: interface check 2021-05-23 23:48:42 +09:00
sanposhiho
be16b7f818 Fix: Logging causes nilpointer 2021-05-23 23:17:29 +09:00
Mike Dame
5a77ebe28b Scheduler: remove pkg/features dependency from NodeResources plugins 2021-05-18 08:59:02 -04:00
yuzhiquan
2b6af46624 fix potential panic for node resource plugin 2021-05-08 18:03:24 +08:00
houjun
447e55132a Delete duplicate judgments 2021-05-07 22:44:41 +08:00
Kubernetes Prow Robot
d5691f754f
Merge pull request #101703 from july2993/read
use '_' in nodelabel plugin for unused parameters
2021-05-06 05:15:16 -07:00
Wei Huang
9c45e8a974
sched: make CycleState's Read()/Write()/Delete() thread-safe
- add internal locking to CycleState's Read()/Write()/Delete() functions
- remove Lock() and Unlock() functions
2021-05-05 12:00:52 -07:00
Yuan Chen
fce28dbac9 Prevent scheduler crashing in default preemption 2021-05-04 19:30:11 -07:00
Jiahao Huang
0980b33b0e use '_' in nodelabel plugin for unused parameters 2021-05-03 18:06:02 +08:00
Konstantin Misyutin
74e30c5e38 Scheduler: remove pkg/features dependency from DefaultPreemption plugin
Signed-off-by: Konstantin Misyutin <konstantin.misyutin@huawei.com>
2021-04-29 23:12:46 +08:00
Kubernetes Prow Robot
b4ea4322a6
Merge pull request #101467 from ingvagabund/noderesources-replace-IsScalerResourceName-with-nodeinfo-allocatable-scalar-resource-presence
noderesource: node info already knows which resources are scalar
2021-04-28 18:12:50 -07:00
Jan Chaloupka
7286f9712a pkg/scheduler: drop Resource.ResourceList() method
The method is used only for testing purposes. Given Resource data type
exposes all its fields, any invoker of ResourceList that is still
using the method outside of kubernetes/kubernetes can still either
copy paste the original implementation or implement a custom method
that's converting resources into proper Quantity data type.

Given the hugepage resource is a scalar resource, it's sufficient
the underlying code under fit_test.go to take into account any
extended resources. For predicate_test.go, the hugepage
resource does not play any role as the General predicates test cases
does not set any scaler resource at all.

Additionally, by removing ResourceList method, pkg/scheduler/framework
can get rid of dependency on k8s.io/kubernetes/pkg/apis/core/v1/helper.
2021-04-28 16:26:33 +02:00
Jan Chaloupka
11d6576f83 noderesource: node info already knows which resources are scalar
NodeInfo.Allocatable.ScalarResources already knows which resources
are scaler. Also, if the resource name is not present,
it's pointless to compute score for a resources the node can not allocate
since nodeInfo.Allocatable.ScalarResources[resource] is zero for the case.
And both leastRequestedScore and mostRequestedScore returns 0 score
for nodes with zero allocatable resource.
The balancedResourceScorer deals only with CPU and memory which
are not scalable resources.
2021-04-25 23:32:03 +02:00
Kubernetes Prow Robot
a160d1dedc
Merge pull request #101297 from houjun41544/20210421-volumezone
Remove redundant checks
2021-04-21 19:15:56 -07:00
Kubernetes Prow Robot
5779fec3c4
Merge pull request #99959 from AliceZhang2016/nodeaffinity-cleanup
Move nodeaffinity helpers to component-helpers package
2021-04-21 17:03:53 -07:00
Kubernetes Prow Robot
ba5ec40d41
Merge pull request #101277 from wangyx1992/capatial-log-scheduler
cleanup: fix log capitalization in scheduler
2021-04-21 12:20:03 -07:00
BinacsLee
9ff1419511 code cleanup: scheduler simplify the check function in NodeLabel.Filter 2021-04-21 20:30:02 +08:00
houjun
d3a355d6dc Remove redundant checks 2021-04-21 09:55:45 +08:00
wangyx1992
97c4a4ffa5 cleanup: fix log capitalization in scheduler
Signed-off-by: wangyx1992 <wang.yixiang@zte.com.cn>
2021-04-20 20:20:02 +08:00
Kubernetes Prow Robot
6d130d3b97
Merge pull request #100557 from chendave/validation_cleanup
Validate plugin config for KubeSchedulerConfiguration
2021-04-14 18:20:01 -07:00
Kubernetes Prow Robot
74763cd7e8
Merge pull request #100370 from houjun41544/20210318-nodeinfoIsNil
Remove redundant checks
2021-04-14 18:19:49 -07:00
Kubernetes Prow Robot
d09d1ea6cb
Merge pull request #100853 from yuzhiquan/scheduler-events
Implement EnqueueExtensions interface in TopologySpreading scheduling
2021-04-14 13:15:10 -07:00
Kubernetes Prow Robot
e42f44588a
Merge pull request #100090 from whypro/enqueue-extension
Implement EnqueueExtensions interface in volumerestrictions and volumezone.
2021-04-14 11:57:09 -07:00
Dave Chen
c6e65079c7 Validate plugin config for KubeSchedulerConfiguration
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-04-14 09:30:20 +08:00
Dave Chen
62d7f8f570 Fix couple of nits in nodevolumelimits plugin
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-04-13 15:59:50 +08:00
Kubernetes Prow Robot
1fa101d1a4
Merge pull request #100947 from lojies/cleanuppkgsheduler
code cleanup for pkg/scheduler
2021-04-13 00:44:50 -07:00
卢振兴10069964
5ddb1be59a code cleanup for pkg/scheduler 2021-04-13 08:16:16 +08:00
whypro
641627980b Implement EnqueueExtensions interface in volumerestrictions and volumezone. 2021-04-10 00:17:57 +08:00
Kubernetes Prow Robot
4959cd6339
Merge pull request #100671 from Niekvdplas/spelling-mistakes
Fixed several spelling mistakes
2021-04-09 05:19:45 -07:00
Kubernetes Prow Robot
c0778c7e9a
Merge pull request #100479 from houjun41544/20210323-InterPodAffinity
Missing return when error
2021-04-08 22:10:05 -07:00
Kubernetes Prow Robot
ad84094a8f
Merge pull request #100477 from chendave/validation_noderesource
Move NodeResourcesFit plugin args validation to apis/config/validation
2021-04-08 22:09:56 -07:00
Kubernetes Prow Robot
b678d1b51d
Merge pull request #100444 from july2993/mode
Change go file mode from 755 to 644
2021-04-08 22:09:22 -07:00
Kubernetes Prow Robot
3c75651d15
Merge pull request #100357 from Huang-Wei/enq-serviceaffinity
implement EnqueueExtensions interface in serviceaffinity
2021-04-08 20:30:20 -07:00
Kubernetes Prow Robot
4b9421674f
Merge pull request #100325 from cwdsuzhou/donot_delete_waitingpod
Preempting: do not delete the victim if it just exits in WaitingPods
2021-04-08 20:29:46 -07:00
Kubernetes Prow Robot
227db2e0d4
Merge pull request #100279 from Jerry-Ge/nodename
added eventsToRegister for nodeName & nodeUnschedulable plugins
2021-04-08 20:29:21 -07:00
Kubernetes Prow Robot
2b89558a1f
Merge pull request #100051 from tanjing2020/nodeaffinity
implement EnqueueExtensions interface in nodeaffinity
2021-04-08 17:11:13 -07:00
Kubernetes Prow Robot
2159f967b4
Merge pull request #100020 from pravarag/interpodaffinity-schedule-plugin
implement EnqueueExtensions in interPodAffinity
2021-04-08 17:10:38 -07:00
Kubernetes Prow Robot
d0510aae37
Merge pull request #100004 from KofClubs/implement-EventsToRegister-nodeports
Implemented EnqueueExtensions interface for NodePorts
2021-04-08 17:10:30 -07:00
Kubernetes Prow Robot
10ed4502f4
Merge pull request #99937 from wzshiming/fea/enq-nodelabel
Implement EnqueueExtensions interface in nodelabel
2021-04-08 16:00:51 -07:00
Kubernetes Prow Robot
adbf279bf1
Merge pull request #99936 from pacoxu/feature/taint-schedule-plugin
implement EnqueueExtensions interface in taint toleration scheduling
2021-04-08 16:00:43 -07:00
yuzhiquan
76b68a19d7 implement register events for PodTopologySpread 2021-04-08 09:14:34 +08:00
Pravar Agrawal
2cf284994f implement EnqueueExtensions in interPodAffinity 2021-04-07 08:43:49 +05:30
Niekvdplas
fec272a7b2 Fixed several spelling mistakes 2021-03-30 23:02:09 +02:00
houjun
d9939a34d9 Missing return on error 2021-03-23 17:21:07 +08:00
Dave Chen
a0d93cc0c8 Move NodeResourcesFit plugin args validation to apis/config/validation
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-03-23 16:09:53 +08:00
caiweidong
850759ec87 Preempting: do not delete the victim if it just exits in WaitingPods 2021-03-23 14:37:36 +08:00
Jiahao Huang
4621722888 Change go file mode from 755 to 644
to check all file:
find . -perm 755 | grep "\.go$"
2021-03-23 10:50:17 +08:00
houjun
4c6d5ea709 Remove redundant checks 2021-03-18 19:52:39 +08:00
Jerry.Ge
31b79f481e added eventsToRegister for nodeName & nodeUnschedulable plugins
Signed-off-by: Jerry Ge <jerry.ge@arm.com>
2021-03-18 04:22:51 -04:00
Wei Huang
ed673ba0e9
implement EnqueueExtensions interface in serviceaffinity 2021-03-17 19:04:08 -07:00
Zhang Zhanpeng
2678f26944 Implemented function EventsToRegister for NodePorts
Signed-off-by: Zhang Zhanpeng <zhanpeng.zhang@daocloud.io>

Added pod deletion event

Signed-off-by: Zhang Zhanpeng <zhanpeng.zhang@daocloud.io>

Deleted node condition update event & added service deletion

Signed-off-by: Zhang Zhanpeng <zhanpeng.zhang@daocloud.io>

Implemented function EventsToRegister for NodePorts

Signed-off-by: Zhang Zhanpeng <zhanpeng.zhang@daocloud.io>

Deleted service deletion

Signed-off-by: Zhang Zhanpeng <zhanpeng.zhang@daocloud.io>

Added a comment to explain why not registering pod update events
2021-03-17 14:42:13 +08:00
Mengxue Zhang
bdda9728e7 move nodeaffinity helpers to component-helpers package 2021-03-10 20:19:25 +00:00
tanjing2020
cd6bf47a19 implement EnqueueExtensions interface in nodeaffinity 2021-03-10 19:22:08 +08:00
Kubernetes Prow Robot
f17004981b
Merge pull request #100034 from AliceZhang2016/nodeaffinity-cleanup-only-scheduler
move nodeaffinity helpers to component-helpers package (only impact s…
2021-03-09 17:39:56 -08:00
Mengxue Zhang
fd8128d7d6 move nodeaffinity helpers to component-helpers package (only impact scheduler plugins) 2021-03-09 21:33:02 +00:00
Kubernetes Prow Robot
2bcbc527a7
Merge pull request #99995 from wzshiming/fix/scheduler-nodelabel
Scheduler/plugins/nodelabel fix no label preference
2021-03-09 12:23:04 -08:00
Kubernetes Prow Robot
d256468a09
Merge pull request #99644 from gavinfish/sched-param
Scheduler: make parallelism as part of schedulerOptions
2021-03-09 11:05:42 -08:00
Kubernetes Prow Robot
046ad61479
Merge pull request #99290 from mortent/PromotePDBsToGA
Promote PodDisruptionBudget to policy/v1
2021-03-09 11:05:05 -08:00
Kubernetes Prow Robot
17395678c4
Merge pull request #99671 from tanjing2020/scheduler-policy
Log invalid scheduler-policy input instead of panic
2021-03-09 09:19:26 -08:00
Shiming Zhang
ab3a765570 Scheduler/plugins/nodelabel fix no label preference 2021-03-10 00:19:28 +08:00
Morten Torkildsen
21fba79d45 Promote PDBs to GA 2021-03-09 10:29:11 -05:00
drfish
c2ceb21a3e Make parallelism as part of schedulerOptions 2021-03-09 23:25:55 +08:00
tanjing2020
2d79ebbe58 Log invalid scheduler-policy input instead of panic 2021-03-09 15:21:46 +08:00
pacoxu
09298dd83f implement EnqueueExtensions interface in taint toleration scheduling
Signed-off-by: pacoxu <paco.xu@daocloud.io>
Co-authored-by: Wei Huang <weih@hey.com>
2021-03-09 12:21:00 +08:00
Shiming Zhang
6907b915f5 implement EnqueueExtensions interface in nodelabel 2021-03-09 10:32:57 +08:00
Wei Huang
e86a72add7
implement EnqueueExtensions interface in noderesources 2021-03-08 15:24:05 -08:00
Kubernetes Prow Robot
14c25eed8d
Merge pull request #99641 from pohly/storage-capacity-beta
CSIStorageCapacity beta API
2021-03-08 15:04:59 -08:00
Kubernetes Prow Robot
2b3f97b08f
Merge pull request #99389 from tanjing2020/change-log
Use %w instead of %v to format errors
2021-03-08 12:07:12 -08:00
Patrick Ohly
5ca0814165 CSIStorageCapacity: use beta API 2021-03-08 20:52:50 +01:00
Kubernetes Prow Robot
027d9e6c25
Merge pull request #99835 from chendave/args
Move VolumeBinding plugin args validation to apis/config/validation
2021-03-08 09:31:42 -08:00
tanjing2020
61cd099bc1 Use %w instead of %v to format errors 2021-03-08 10:23:08 +08:00
Kubernetes Prow Robot
699b38669f
Merge pull request #99731 from AliceZhang2016/newFramework-accept-KubeSchedulerProfile
Make runtime.NewFramework accept KubeSchedulerProfile
2021-03-06 12:49:48 -08:00
Dave Chen
b8394c4700 Move VolumeBinding plugin args validation to apis/config/validation
This PR also looses the check to allow zero since the API doc has
explained that value zero indicates no waiting.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-03-06 11:06:39 +08:00
Mengxue Zhang
b38caa91cc make runtime.NewFramework accept KubeSchedulerProfile 2021-03-05 18:30:21 +00:00
Yecheng Fu
d791f7feef Prioritizing nodes based on volume capacity: unit tests 2021-03-05 23:59:25 +08:00
Yecheng Fu
21a43586e7 Prioritizing nodes based on volume capacity 2021-03-05 23:59:25 +08:00
Kubernetes Prow Robot
9067b5691d
Merge pull request #97818 from damemi/remove-util-node-dep
Scheduler: remove direct dependency for k8s.io/kubernetes/pkg/util/node
2021-03-05 04:06:32 -08:00
Kubernetes Prow Robot
d1fb9fda24
Merge pull request #99523 from gavinfish/sched-nodeaff-todo
Scheduler: remove outdated TODO in node_affinity.go
2021-03-04 14:41:03 -08:00
Mike Dame
af045087d9 Move GetZoneKey function to component-helpers 2021-03-04 10:32:38 -05:00
Abdullah Gharaibeh
c7fef196b6 Implements pod affinity NamespaceSelector feature 2021-03-04 07:30:24 -05:00
Kubernetes Prow Robot
0ced9d2854
Merge pull request #99498 from gavinfish/sched-preempthandle
Scheduler: unroll PreemptHandle to Handle
2021-03-01 13:58:28 -08:00
Benjamin Elder
56e092e382 hack/update-bazel.sh 2021-02-28 15:17:29 -08:00
drfish
da6d5669b3 Remove outdated TODO in node_affinity.go 2021-02-27 14:00:33 +08:00
Kubernetes Prow Robot
c200a8f9b7
Merge pull request #98433 from damemi/remove-helper-from-volume-zone
Move GetPersistentVolumeClaimClass to component-helpers
2021-02-26 12:38:15 -08:00
drfish
38ad860c2f Unroll PreemptHandle to Handle 2021-02-27 00:44:05 +08:00
Kubernetes Prow Robot
4fefc856db
Merge pull request #99213 from AliceZhang2016/affinity
parse pod's node affinity once in preFilter
2021-02-25 10:01:24 -08:00
Mengxue Zhang
4fb8e343c0 parse pod's node affinity once in preFilter 2021-02-25 00:21:32 +00:00
Kubernetes Prow Robot
8feec9bf94
Merge pull request #99351 from CaoDonghui123/fixissues3
Remove deadcode
2021-02-24 15:29:34 -08:00
Kubernetes Prow Robot
1d02dfb79a
Merge pull request #99085 from gavinfish/jieshe/nominated-podinfo
Scheduler: Use PodInfo instead of Pod for nominatedPods and QueuedPodInfo
2021-02-24 08:52:50 -08:00
xiaofei.sun
fd62f32125 Scheduler: remove pkg/apis/core/field_constants.go 2021-02-24 18:06:29 +08:00
caodonghui
f435e24403 Remove deadcode 2021-02-23 17:58:47 +08:00
Kubernetes Prow Robot
4225e1f1cc
Merge pull request #98593 from chymy/scheduler-structured-logs-0130
migrate pkg/scheduler/framework/plugins/volume to structured logs
2021-02-22 18:48:03 -08:00
drfish
bc2df9de72 Use PodInfo instead of Pod for nominatedPods and QueuedPodInfo 2021-02-22 22:00:23 +08:00
Kubernetes Prow Robot
0b5dd00d03
Merge pull request #99119 from gavinfish/sched-preempt
Scheduler: let default preemption returns status instead of err
2021-02-19 20:49:41 -08:00
chymy
57fc5f67e7 migrate pkg/scheduler/framework/plugins/volume to structured logs
Signed-off-by: chymy <chang.min1@zte.com.cn>
2021-02-20 08:42:31 +08:00
drfish
a1bfa0120e Let default preemption returns status instead of err 2021-02-19 23:57:23 +08:00
Kubernetes Prow Robot
2b6a8381d2
Merge pull request #98875 from tanjing2020/change-log
migrate to structured logging
2021-02-19 07:48:25 -08:00
Kubernetes Prow Robot
d69d228a2c
Merge pull request #99211 from deepakiam/master
Substituting bool maps with String sets
2021-02-19 00:20:57 -08:00
Deepak Nair
49a9e28dd8 Substitute boolean maps with String sets 2021-02-18 20:59:32 -08:00
Kubernetes Prow Robot
5ce38504fb
Merge pull request #99118 from adtac/remove-fwk-readme
scheduler/framework/plugins: delete moved docs
2021-02-16 13:45:44 -08:00
Kubernetes Prow Robot
0ce2036e81
Merge pull request #98949 from gavinfish/sched-rm-reflect1
Scheduler: remove reflect.DeepEqual for defaultpreemption, helper, imagelocality package
2021-02-16 07:13:06 -08:00
Adhityaa Chandrasekar
4e8454ae9d scheduler/framework/plugins: delete moved docs
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2021-02-16 13:26:27 +00:00
drfish
ac0b034b02 Remove reflect.DeepEqual for defaultpreemption, helper, and imagelocality package 2021-02-13 16:16:14 +08:00
Kubernetes Prow Robot
b1a2a99f1f
Merge pull request #98997 from gavinfish/sched-remove-todo
Scheduler: remove outdated TODO in interpodaffinity
2021-02-11 15:48:46 -08:00
drfish
2e7e075762 Remove outdated TODO in interpodaffinity 2021-02-11 20:45:00 +08:00
Kubernetes Prow Robot
838bb6a567
Merge pull request #98663 from gavinfish/sched-remove-plugin-pt
Scheduler: change config.Plugins from pointers to objects
2021-02-10 15:36:15 -08:00
drfish
74315f9c56 Change config.Plugins from pointers to objects 2021-02-10 23:45:59 +08:00
tanjing2020
300d109d78 migrate to structured logging 2021-02-10 16:11:52 +08:00
Kubernetes Prow Robot
28e2e12b88
Merge pull request #98863 from chendave/test_coverage
Improve test coverage for service affinity
2021-02-08 17:04:02 -08:00
Dave Chen
06bc3b48af Improve test coverage for service affinity
Pods that are filtered by the plugin should has UID associated, otherwise all those
matching pods will be filtered out, this is the against of the spec of testcases.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-02-08 17:02:53 +08:00
Kubernetes Prow Robot
ebe7380b38
Merge pull request #98518 from tanjing2020/change-log
migrate default_preemption.go to structured logging
2021-02-03 19:54:28 -08:00
Kubernetes Prow Robot
4e72a35b35
Merge pull request #98588 from gavinfish/sched-fw-ut
Scheduler: organize framework unit tests in subtests
2021-02-01 20:40:36 -08:00
Kubernetes Prow Robot
ba85bfee39
Merge pull request #98129 from chendave/expose_status
Expose node status so that external preemption plugins can use it
2021-02-01 19:24:40 -08:00
tanjing2020
e62cfa7cc4 migrate default_preemption.go to structured logging 2021-02-02 09:38:23 +08:00
Mike Dame
578ff3ec34 Move Taint/Toleration helpers to component-helpers repo
This is part of the goal for scheduling to remove dependencies on internal
packages for the scheduling framework. It also provides these functions in an
external location for other components and projects to import.
2021-02-01 11:06:03 -05:00
Mike Dame
ba72411aa2 Move GetPersistentVolumeClaimClass to component-helpers
The goal of this move is related to issue 89930, to break the dependence
of scheduling plugins on internal helpers. This function can easily move to
component-helpers where it will be used by other components as well.
2021-02-01 10:48:38 -05:00
Dave Chen
fe5a266a03 Include UnschedulableAndUnresolvable nodes into the status map
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-02-01 10:49:43 +08:00
drfish
0c3d8b9720 Organize framework unit tests in subtests 2021-01-31 13:34:52 +08:00
Kubernetes Prow Robot
03168d2e32
Merge pull request #98540 from damemi/internal-helper-get-avoid-pods
Scheduler: move GetAvoidPodsFromNodeAnnotations to component-helpers
2021-01-29 15:11:48 -08:00
Dave Chen
9d48a44601 Expose node status so that external preemption plugins can use it
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-01-29 10:17:25 +08:00
Wei Huang
f8a6bdb044
Surface info of failed plugins during PerFilter and Filter 2021-01-28 12:20:42 -08:00
Mike Dame
73d8eba1a4 Scheduler: move GetAvoidPodsFromNodeAnnotations to component-helpers 2021-01-28 14:41:55 -05:00
Jie Shen
f82e3c430c Wrap all errors in pkg/scheduler 2021-01-28 09:13:40 +08:00
Kubernetes Prow Robot
bfac3e9309
Merge pull request #98364 from gavinfish/sched-error-interpod
Scheduler: wrap errors from DefaultPreemption and InterPodAffinity plugins
2021-01-26 09:40:46 -08:00
drfish
a6f2736032 Wrap errors from DefaultPreemption and InterPodAffinity plugins 2021-01-26 23:00:12 +08:00
Kubernetes Prow Robot
fa3be1bcd2
Merge pull request #98096 from leileiwan/master
fix(*):inter pod affinity default min score is zero
2021-01-25 07:22:54 -08:00
drfish
8be6d9650c Update potentialVictims as framework.PodInfo type 2021-01-24 22:17:28 +08:00
leileiwan
65d2dda443 fix(*): init max score with -maxInt64 2021-01-24 17:30:27 +08:00
Kubernetes Prow Robot
39115c64b0
Merge pull request #97599 from gavinfish/refact-updatewithpod
Scheduler: Update the PreFilterExtensions interface to use PodInfo
2021-01-20 12:09:01 -08:00
Kubernetes Prow Robot
3fedfb8ed8
Merge pull request #97454 from lixiaobing1/nodename
modify hostname of ErrReason
2021-01-19 08:19:45 -08:00
drfish
d4418c1402 Update the PreFilterExtensions interface to use PodInfo 2021-01-19 00:49:52 +08:00
leileiwan
273de36b5d fix unit test 2021-01-18 22:55:37 +08:00
Kubernetes Prow Robot
38585884e3
Merge pull request #97184 from chendave/add_status
Show the details on the failure of preemption
2021-01-15 10:25:51 -08:00
Dave Chen
7315c1f6dd Show the details on the failure of preemption
Since the filter status is missed for the phase of preemption, there
will be no way to tell why the preemption failed for some reasons, and
those reasons could be different with the status from the main scheduling
process (the first failed plugin will hide other failures in the chain).

This change provides verbose information based on the node status generated
during pod preemption, those information helps us to diagnose the issue which
is happened during pod preemption.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-01-15 23:20:17 +08:00
leileiwan
8eb8f8ab26 fix(*):inter pod affinity default min score is zero 2021-01-15 17:41:52 +08:00
Kubernetes Prow Robot
a28c802db7
Merge pull request #97538 from lingsamuel/requirement-return-field-error
make labels.NewRequirement returns aggregated field.ErrorList
2021-01-13 14:17:17 -08:00
Ling Samuel
a1f8dc41ef
make labels.NewRequirement returns aggregated field.ErrorList, make nodeaffinity parsing function use it
Signed-off-by: Ling Samuel <lingsamuelgrace@gmail.com>
2021-01-11 16:23:53 +08:00
lixiaobing1
b5487d823c modify hostname of ErrReason 2021-01-06 09:25:25 +08:00
Kubernetes Prow Robot
86f8c3ee91
Merge pull request #97591 from gavinfish/sched-interpodaffinity-typo
Cleanup: fix typos in scheduler interpodaffinity package
2021-01-05 15:12:05 -08:00
Kubernetes Prow Robot
974404757d
Merge pull request #96929 from gavinfish/sched-plugin-core
Scheduler: Move PodPassesFiltersOnNode out of core to avoid plugin dependency
2021-01-05 11:46:13 -08:00
Kubernetes Prow Robot
07bd985724
Merge pull request #96561 from ialidzhikov/cleanup/csi-node-info
Remove CSINodeInfo feature gate
2021-01-05 11:46:00 -08:00
Kubernetes Prow Robot
3e36f78c42
Merge pull request #97521 from lixiaobing1/nodeselector
add node selector info in ErrReasonPod
2021-01-04 16:13:56 -08:00
drfish
2fcea1f737 Fix typos in scheduler interpodaffinity package 2020-12-30 14:20:07 +08:00
lixiaobing1
0e274441ba add node selector info in ErrReasonPod 2020-12-26 14:15:08 +08:00
chymy
6ec7b823c1 Add a hyperlink to issue 95156
Signed-off-by: chymy <chang.min1@zte.com.cn>
2020-12-24 15:41:05 +08:00
drfish
070773c399 Remove scheduler plugins package's dependency from core package 2020-12-20 00:18:40 +08:00
Alex Dudko
c03b4c7850 Migrate pkg/scheduler logs to structured logging
in pkg/scheduler/eventhandlers.go
  * add event for unscheduled pod
  * delete event for unscheduled pod
  * add event for scheduled pod
  * delete event for scheduled pod

in pkg/scheduler/framework/plugins/defaultbinder/default_binder.go
  * Attempting to bind pod to node

in pkg/scheduler/scheduler.go
  * Updating pod condition
  * Attempting to schedule pod
  * Skip schedule deleting pod
2020-12-18 10:45:00 -08:00
Kubernetes Prow Robot
bd4d197b52
Merge pull request #96447 from chendave/bind_postfilter
Remove the deprecated metrics from scheduler
2020-12-14 06:31:28 -08:00
Dave Chen
5144e2ec78 Remove the deprecated metrics from scheduler
Deprecated metrics are removed and suggest to use the Histogram
metrics got from scheduler extension points.

Signed-off-by: Dave Chen <dave.chen@arm.com>
Co-authored-by: wawa0210 <xiaozhang0210@hotmail.com>
2020-12-14 11:31:50 +08:00
ialidzhikov
bc432124a2 Remove CSINodeInfo feature gate
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2020-12-10 09:58:22 +02:00
Kubernetes Prow Robot
5996839425
Merge pull request #96745 from lingsamuel/scheduler-validation
Use field.Error(s) in scheduler plugin args validation
2020-12-09 02:10:50 -08:00
Kubernetes Prow Robot
f367cb671a
Merge pull request #96774 from lixiaobing1/noderesources2
clarify the logic of noderesources comparison
2020-12-08 20:03:01 -08:00