Commit Graph

229 Commits

Author SHA1 Message Date
Aldo Culquicondor
49ea5afaf7 Write scheduler configuration from config file
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-11-05 14:35:02 -05:00
obitech
b15aba547a Add lenient decoding path for v1alpha1 kube-scheduler config
This implements a lenient path for decoding a kube-scheduler config file.
The config file gets decoded with a strict serializer first, if that fails a lenient
CodecFactory that has just v1alpha1 registered into it is used for decoding. The lenient
path is to be dropped when support for v1alpha1 is dropped.

For more information on the discussion see #82924 and the linked PRs.
2019-10-31 13:43:52 +01:00
Kubernetes Prow Robot
486e2380bd
Merge pull request #83692 from yastij/fix-events-scheduler
add a fallback for kube-scheduler  when events.k8s.io is disabled
2019-10-28 14:08:43 -07:00
Yassine TIJANI
f970b34137 add a fallback for kube-scheduler when events.k8s.io is disabled
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-10-28 19:09:47 +01:00
wojtekt
ce499ac286 Migrate components to EndpointsLeases leader election lock 2019-10-28 09:09:03 +01:00
Cong Liu
571cea0519 Convert NodeLabelPresence custom predicate to filter plugin. 2019-10-25 19:31:17 -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
Shintaro Murakami
a86634bc17 Support dynamically set log level for kube-scheduler 2019-10-15 01:32:41 +09:00
Ahmad Diaa
4448a1cea9 move factory package to scheduler 2019-10-12 23:03:07 +02:00
draveness
ee4dec65b5 feat(scheduler): expose SharedInformerFactory to the framework handle 2019-10-11 10:23:21 +08: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
draveness
9646afb1f5 feat: add pod initial/max backoff duration to config API 2019-10-09 19:48:28 +08: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
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
74d2822662
Merge pull request #72535 from tallclair/content-type
Always set content-type & nosniff
2019-09-27 18:43:39 -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
Mark Janssen
1a1b7001d6 Fix staticcheck failures for scheduler packages
Errors from staticcheck:
cmd/kube-scheduler/app/server.go:297:27: prometheus.Handler is deprecated: Please note the issues described in the doc comment of InstrumentHandler. You might want to consider using promhttp.Handler instead.  (SA1019)
pkg/apis/scheduling/v1alpha1/defaults.go:27:6: func addDefaultingFuncs is unused (U1000)
pkg/apis/scheduling/v1beta1/defaults.go:27:6: func addDefaultingFuncs is unused (U1000)
test/e2e/scheduling/predicates.go:757:6: func verifyReplicasResult is unused (U1000)
test/e2e/scheduling/predicates.go:765:6: func getPodsByLabels is unused (U1000)
test/e2e/scheduling/predicates.go:772:6: func runAndKeepPodWithLabelAndGetNodeName is unused (U1000)
test/e2e/scheduling/limit_range.go:172:3: this value of pod is never used (SA4006)
test/e2e/scheduling/limit_range.go:177:3: this value of pod is never used (SA4006)
test/e2e/scheduling/limit_range.go:196:3: this value of pod is never used (SA4006)
test/e2e/scheduling/limit_range.go:201:3: this value of pod is never used (SA4006)
test/e2e/scheduling/limit_range.go:240:3: this value of pod is never used (SA4006)
test/e2e/scheduling/taints.go:428:13: this value of err is never used (SA4006)
test/e2e/scheduling/ubernetes_lite.go:219:2: this value of pods is never used (SA4006)
test/integration/scheduler/extender_test.go:78:4: this value of resp is never used (SA4006)
test/integration/volumescheduling/volume_binding_test.go:529:15: this result of append is never used, except maybe in other appends (SA4010)
test/integration/volumescheduling/volume_binding_test.go:538:15: this result of append is never used, except maybe in other appends (SA4010)
2019-09-23 22:52:57 +02:00
Han Kang
866ea74326 remove pkg/version and some of redundant copies of it
Change-Id: Ia58367c1b1274bfb49c8a4784051463abaf795de
2019-09-16 16:24:35 -07:00
Abdullah Gharaibeh
3174d9c847 Added a noop plugin to make sure we have the dependencies worked out for the default registry of the scheduler framework. 2019-09-13 13:36:35 -04:00
Tim Allclair
ef6cba0b36 Always set content-type & nosniff 2019-09-11 15:01:43 -07:00
Zhonghu Xu
fb3274759f Remove duplicate logging 2019-09-11 14:58:04 +08:00
Kubernetes Prow Robot
6e684875ab
Merge pull request #81954 from SataQiu/fix-schedule-20190826
schedule code clean: using string prefix instead of MarkDeprecated
2019-08-28 08:55:59 -07:00
Kubernetes Prow Robot
a927ed454c
Merge pull request #81576 from logicalhan/scheduler-migration
migrate scheduler metrics to stability framework
2019-08-28 08:55:12 -07:00
Han Kang
8da448dbe3 migrate scheduler metrics endpoint to metrics stability framework 2019-08-28 03:40:43 -07:00
David Eads
f589c1213c add cache-control headers to kube-apiserver 2019-08-26 13:00:31 -04:00
SataQiu
cb8183c680 schedule code clean: using string prefix instead of MarkDeprecated 2019-08-27 00:03:29 +08:00
Kubernetes Prow Robot
8dea3310e5
Merge pull request #81376 from logicalhan/health-checks
rename healthz methodNames to be more consistent w/ present day usages
2019-08-22 03:48:32 -07:00
Han Kang
2e23788fda rename healthz methodNames to be more consistent w/ present day usages 2019-08-13 12:52:30 -07:00
ravisantoshgudimetla
3a1354d590 Autogenerated files 2019-08-09 15:23:43 -04:00
ravisantoshgudimetla
e2b29cd508 Scheduler should terminate when it looses leader lock 2019-08-09 15:23:28 -04:00
Kubernetes Prow Robot
aa6a077cfd
Merge pull request #80681 from ricky1993/customize_resource_name_and_namespace
add options for name and namespace of leaderelection object
2019-08-07 01:36:51 -07:00
chenyixiang
41a435a812 migrate scheduler options to resourceName & resourceNamespace
Change-Id: I743eda488320c97c123b49018d7efcc57525b152
2019-08-03 11:42:47 +08:00
Clayton Coleman
33521b41d4
Disable gzip compression in core control plane components
On local networks (such as the typical connection path between
control plane components) gzip compression increases CPU use and
end to end p99 latency rather than decreasing it. Disable compression
within the control plane components like a 1.15 cluster would be
configured.
2019-08-02 16:18:15 -04:00
Kubernetes Prow Robot
619a3985d0
Merge pull request #80206 from tedyu/sched-svr-dup
Remove duplicate requestInfoResolver
2019-07-16 15:24:43 -07:00
Ted Yu
a3f06c7e23 Remove duplicate requestInfoResolver 2019-07-16 10:53:07 -07:00
Kubernetes Prow Robot
c30f024864
Merge pull request #78162 from hex108/registry
Add support for writing out of tree custom scheduler plugins
2019-07-15 23:29:24 -07:00
Yassine TIJANI
08522f8e5a move scheduler to use v1beta1.events
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-07-12 11:39:01 +02:00
Jun Gong
5828223e75 Rename PluginOption to Option 2019-07-11 17:39:48 +08:00
Kubernetes Prow Robot
dd8a000a77
Merge pull request #79493 from odinuge/kube-cmd-double-print
Remove duplicate error messages from cli commands
2019-06-28 13:57:41 -07:00
Odin Ugedal
7caf51daa4
Remove duplicate error messages from cli commands
Since we never use the cobras "SilenceErrors" or "SilenceUsage",
a command executed with "cmd.Execute()" will never return an error
without printing it.

The current behavior results in all error messages being printed twice:

Example:

$ kubectl abc
Error: unknown command "abc" for "kubectl"
Run 'kubectl --help' for usage.
unknown command "abc" for "kubectl"

This applies to all cli commands using Cobra. To verify, follow the code
path of the Execute function:

https://github.com/spf13/cobra/blob/c439c4fa0937/command.go#L793
Signed-off-by: Odin Ugedal <odin@ugedal.com>
2019-06-27 21:55:14 +02:00
Fabio Bertinatto
00b0ab86af Update scheduler to use volume limits from CSINode 2019-06-25 16:30:54 +02:00
Kubernetes Prow Robot
415323ca9b
Merge pull request #78340 from sftim/20190524_docs_insecure_serving_fix
Fix typo in kube-scheduler --port option help
2019-06-25 07:06:39 -07:00
Jun Gong
107e989454 Use WithOption to implment scheduler register 2019-06-25 17:03:21 +08:00
Andy Goldstein
9bba2c93ec
Fix max port value to 65535
Signed-off-by: Andy Goldstein <goldsteina@vmware.com>
2019-06-24 15:13:27 -04:00
Jun Gong
e9793c8bdb Pass registry parameter to scheduler instead of global singleton 2019-06-24 11:29:47 +08:00
Jun Gong
ea8e1e01c5 Add support for writing out of tree custom scheduler plugins 2019-06-24 10:43:47 +08:00
Tim Bannister
82fd3e2fa7
Fix typo
Write "HTTP" (and not "HTTPS") to describe plain HTTP.
2019-05-24 23:55:55 +01:00
JieJhih Jhang
2cd5fc54a1 add scheduling framework configuration
update bazel build

fix get plugin config method

initialize only needed plugins

fix unit test

fix import duplicate package

update bazel

add docstrings

add weight field to plugin

add plugin to v1alpha1

add plugins at appropriate extension points

remove todo statement

fix import package file path

set plugin json schema

add plugin unit test to option

initial plugin in test integration

initialize only needed plugins

update bazel

rename func

change plugins needed logic

remove v1 alias

change the comment

fix alias shorter

remove blank line

change docstrings

fix map bool to struct

add some docstrings

add unreserve plugin

fix docstrings

move variable inside the for loop

make if else statement cleaner

remove plugin config from reserve plugin unit test

add plugin config and reduce unnecessary options for unit test

update bazel

fix race condition

fix permit plugin integration

change plugins to be pointer

change weight to int32

fix package alias

initial queue sort plugin

rename unreserve plugin

redesign plugin struct

update docstrings

check queue sort plugin amount

fix error message

fix condition

change plugin struct

add disabled plugin for unit test

fix docstrings

handle nil plugin set
2019-05-18 06:30:28 +08:00
Yecheng Fu
214ea1a9d3 Update scheduler to use new volume scheduling library
To fix scheme issue, use k8s.io/client-go/kubernetes/scheme instead of
legacyscheme.
2019-05-02 14:57:47 +08:00
Bobby (Babak) Salamat
83828bcb2d autogenerated files 2019-04-29 16:40:56 -07:00
Bobby (Babak) Salamat
77824f5135 Change scheduler constructors to receive a plugin registry. 2019-04-29 16:40:56 -07:00
Shintaro Murakami
28b3cff13c Remove redundant wait for cache sync 2019-04-13 08:12:33 +09:00
leigh capili
47e52d2981 Refactor loops over SupportedMediaTypes() where mediaType is used to match a single SerializerInfo{}
We have an existing helper function for this:  runtime.SerializerInfoForMediaType()

This is common prep-work for encoding runtime.Objects into JSON/YAML for transmission over the wire or writing to ComponentConfigs.
2019-04-04 19:01:01 -06:00
Kubernetes Prow Robot
e9c42a15f7
Merge pull request #73672 from WanLinghao/failure_domain_remove
Remove dead code about failure-domains option in kube-scheduler
2019-03-30 18:22:33 -07:00
WanLinghao
f510f49955 Remove dead code about failure-domains option in kube-scheduler 2019-03-18 14:25:04 +08:00
liurui
0a1227c2b1 fix typo 2019-03-11 11:19:39 +08:00
Xiang Dai
36065c6dd7 delete all duplicate empty blanks
Signed-off-by: Xiang Dai <764524258@qq.com>
2019-02-23 10:28:04 +08:00
Marek Counts
160ed26c20 autogen files to support new project structure. 2019-02-15 10:29:31 -05:00
Marek Counts
7744f90830 Moved flag and globalflag
Moved all flag code from `staging/src/k8s.io/apiserver/pkg/util/[flag|globalflag]` to `component-base/cli/[flag|globalflag]` except for the term function because of unwanted dependencies.
2019-02-15 10:28:13 -05:00
PingWang
d8e3d11c8b Fix function comment to consistent with its name
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2019-02-11 10:51:35 +08:00
Roy Lenferink
b43c04452f Updated OWNERS files to include link to docs 2019-02-04 22:33:12 +01:00
Kubernetes Prow Robot
d3a2566371
Merge pull request #73109 from palash25/verlog
Add version logging to kube-scheduler
2019-01-25 15:28:08 -08:00
Kubernetes Prow Robot
d027ecfa97
Merge pull request #70778 from wongma7/lease
Add Lease implementation to leaderelection package
2019-01-24 08:45:25 -08:00
Palash Nigam
e0bbce2a8a
Add version logging to kube-scheduler
Related to: #27744
2019-01-24 10:58:41 +05:30
Matthew Wong
410175851c Add Lease implementation to leaderelection package 2019-01-23 10:50:53 -05:00
Kubernetes Prow Robot
26d58d37a7
Merge pull request #72970 from sttts/sttts-wait-for-http-server-finished-shutdown
apiserver: sync with http server shutdown to flush existing connections
2019-01-18 03:06:36 -08:00
Dr. Stefan Schimanski
5b47f99164 apiserver: sync with https server shutdown to flush existing connections 2019-01-18 10:56:38 +01:00
Marek Counts
1739e343a8 autogen files
all the autogen files that got updated due to the changes to move logs.
2019-01-17 09:16:36 -05:00
Marek Counts
ba81a5409a move logs into component-base
all the code changes to move move /apiserver/pkg/util/logs into /component-base/logs
2019-01-17 09:16:21 -05:00
Kubernetes Prow Robot
2c8b571d57
Merge pull request #71875 from wgliang/cleanup/remove-newfrom-functions
Move users of `factory.NewConfigFactory` to `scheduler.New`
2019-01-09 13:55:51 -08:00
Guoliang Wang
3c24c99b08 Move users of factory.NewConfigFactory to scheduler.New 2019-01-09 06:40:30 +08:00
Kubernetes Prow Robot
cc67ccfd7f
Merge pull request #71731 from cheftako/leaseMetric
Add gauge metric for master of leader election.
2019-01-08 08:57:53 -08:00
Lucas Käldström
1edd2723f8
autogenerated files 2019-01-06 15:48:53 +02:00
Lucas Käldström
0140c82c16
Updated references from k8s.io/{apiserver,apimachinery} to the new k8s.io/component-base repo. Co-authored-by @Klaven 2019-01-06 14:01:26 +02:00
Kubernetes Prow Robot
ad579a58da
Merge pull request #72011 from ping035627/k8s-181213
Add Broadcaster.StartLogging for scheduler
2019-01-03 20:21:43 -08:00
Jordan Liggitt
73dcfe12da Stop checking VolumeScheduling feature gate 2018-12-27 17:45:45 -05:00
Walter Fender
f192657380 Add gauge metric for master of leader election.
Fixes #71730
0 indicates standby, 1 indicates master, label indicates which lease.
Tweaked name and documentation
Factored in Mike Danese feedback.
Removed dependency on prometheus from client-go using adapter.
Centralized adapter import.
Fixed godeps
Fixed boilerplate.
Put in fixes for caesarxuchao
2018-12-27 09:40:33 -08:00
PingWang
ba01a6e960 Add Broadcaster.StartLogging
Signed-off-by: PingWang <wang.ping5@zte.com.cn>

modify StartLogging to V(6)

Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2018-12-21 08:55:48 +08:00
Guoliang Wang
6515c4e09b Set percentage of nodes scored in each cycle dynamically based on the cluster size 2018-12-20 11:20:00 +08:00
wangqingcan
1081e919e3 Eclass Task 1: clean up old equiv class code
Co-authored-by: Harry Zhang <resouer@gmail.com>
Co-authored-by: Wang Qingcan <wangqingcan@baidu.com>
2018-12-17 17:05:49 -08:00
Jordan Liggitt
416e114215 Allow kube-scheduler to tolerate cluster auth config lookup failure 2018-12-05 14:13:47 -05:00
k8s-ci-robot
79e5cb2cb7
Merge pull request #71302 from liggitt/verify-unit-test-feature-gates
Split mutable and read-only access to feature gates, limit tests to readonly access
2018-11-29 21:45:12 -08:00
k8s-ci-robot
8b11fda27b
Merge pull request #67931 from tanshanshan/littleprint
make error info clearly
2018-11-28 21:44:28 -08:00
Jordan Liggitt
d440ecdd3b Update non-test code to use DefaultMutableFeatureGate 2018-11-21 11:51:33 -05:00
Bobby (Babak) Salamat
34b4a5bbee Add watchdog for leader election logic getting wedged 2018-11-15 11:02:14 -08:00
stewart-yu
529dbd27ac auto-generated file 2018-11-11 17:19:38 +08:00
stewart-yu
a77652e9ab kube-scheduler: output flags in logical sections 2018-11-11 17:19:38 +08:00
Davanum Srinivas
954996e231
Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
Dr. Stefan Schimanski
1588af4031 kube-scheduler: add secure serving and authn/z integration tests 2018-11-08 16:43:59 +01:00
Dr. Stefan Schimanski
0ba66130b3 kube-scheduler: split out cmd Run func 2018-11-08 16:43:59 +01:00
Dr. Stefan Schimanski
d91feb6d18 kube-scheduler: move stopCh creation out of scheduler factory code
Enforces clean ownership of the channel.
2018-11-08 16:43:59 +01:00
tanshanshan
cb95edafe8 kube-scheduler: enable secure ports 10259 2018-11-08 16:43:59 +01:00
Jordan Liggitt
33a866c470 Remove temporary workaround for scheduler alpha config-loading 2018-10-20 01:07:28 -04:00
k8s-ci-robot
cf3a930938
Merge pull request #69607 from mikedanese/audctx
tokenreview: add APIAudiences config to generic API server and augment context
2018-10-15 19:03:43 -07:00
k8s-ci-robot
d54e0fc0bc
Merge pull request #69670 from atlassian/simplify-rand-seed
Simplify rand seeding
2018-10-15 13:53:01 -07:00
Mikhail Mazurskiy
3a243090a5
Simplify random seed initialization
There is no need to set the time zone as the result does not
depend on it
2018-10-11 21:01:15 +11:00
wangqingcan
608911d5ac add test for new constructor 2018-10-10 17:15:10 +08:00
wangqingcan
a74fd15e62 create a new scheduler constructor 2018-10-10 17:10:10 +08:00
Mike Danese
21fd8f2041 tokenreview: add APIAudiences config to generic API server and augment context 2018-10-09 22:47:10 -07:00
k8s-ci-robot
3c43f089b2
Merge pull request #69155 from mooncak/fix_duplicate_words
remove duplicate words in files
2018-09-27 12:21:46 -07:00