Commit Graph

412 Commits

Author SHA1 Message Date
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
Wei Huang
b6b92b6075
Update test logic to simulate NodeReady/False and NodeReady/Unknown events correctly
- optimize code to use one loop to spin up goroutines
- add `defer cleanupTest()` to avoid goroutine leaks
- use only one heartbeat channel
2019-11-08 12:41:47 -08:00
draveness
715068312a feat(scheduler): convert InterPodAffinity to score plugin 2019-11-08 15:37:33 +08:00
Kubernetes Prow Robot
9dfcc369b4
Merge pull request #84864 from deads2k/optional-verify-opts
allow a verifyoptionsfunc to indicate that no certpool is available
2019-11-07 17:39:14 -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
David Eads
cd675cca92 close the kube-apiserver for taint tests 2019-11-07 14:48:24 -05: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
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
draveness
089e85e098 feat: convert selector spread priority to score plugin 2019-11-06 15:48:29 +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
Wei Huang
8021fc5a37
Fix a TaintBasedEviction integration test flake 2019-11-04 19:46:50 -08: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
Abdullah Gharaibeh
c6baa263a3 Update priorities to use SharedLister instead of using the snapshot directly 2019-10-29 16:22:00 -04: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
louisgong
7d996aa97f fix TestInterPodAffinity case 2019-10-28 21:30:32 +08:00
louisgong
70ca08ec89 filter plugin for cloud provider storage predicate 2019-10-21 23:56:23 +08: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
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
00a12c787c feat: implement node unschedulable as a filter plugin 2019-10-19 17:29:25 +08:00
Jun Gong
38b7668bb3 Refactor scheduler's framework permit API 2019-10-19 16:22:39 +08:00
draveness
1163a1d51e feat: update taint nodes by condition to GA 2019-10-19 09:17:41 +08: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
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
Kubernetes Prow Robot
fef819254a
Merge pull request #83998 from draveness/feature/node-affinity-score-plugin
feat(scheduler): implement node affinity as score plugin
2019-10-17 08:24:38 -07:00
Abdullah Gharaibeh
517116921b GeneralPredicate as plugin config 2019-10-17 11:13:57 -04:00
notpad
f06925b0ee [migration phase 1] CSIMaxVolumeLimitChecker as filter plugin 2019-10-17 22:04:02 +08:00
Kubernetes Prow Robot
534051acec
Merge pull request #84036 from Huang-Wei/tbe-int-test-issue
Ensure TaintBasedEviction int test not rely on TaintNodeByConditions
2019-10-17 05:12:50 -07:00
draveness
3d74da4d53 feat(scheduler): implement node affinity as score plugin 2019-10-17 17:02:10 +08:00
Kubernetes Prow Robot
bdc3f96838
Merge pull request #83989 from wojtek-t/remove_coordination_v1beta1
Swtich nodelifecyclecontroller to coordination/v1
2019-10-17 01:47:29 -07:00
Wei Huang
fbcc3c183a
Ensure TaintBasedEviction int test not rely on TaintNodeByConditions 2019-10-17 01:25:12 -07: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
wojtekt
cf9203501e Swtich nodelifecyclecontroller to coordination/v1 2019-10-16 10:59:02 +02: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
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
Ahmad Diaa
4448a1cea9 move factory package to scheduler 2019-10-12 23:03:07 +02:00
notpad
9e426a6be1 [migration phase 1] NoDiskConflict as filter plugin 2019-10-12 08:00:44 +08: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
Yecheng Fu
e8795562f9 [migration phase 1] Implement CheckVolumeBinding as a filter plugin 2019-10-11 20:35:11 +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
draveness
ee4dec65b5 feat(scheduler): expose SharedInformerFactory to the framework handle 2019-10-11 10:23:21 +08:00
Abdullah Gharaibeh
7429b0fe86 Implemented taints and tolerations priority function as a Score plugin 2019-10-10 17:49:40 -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
Abdullah Gharaibeh
66386fdf49 Added the first predicate as a filter plugin: PodToleratesNodeTaints. 2019-10-05 08:43:17 -04:00
Abdullah Gharaibeh
043166f54b Modified the name of the Extensions method in the scheduler's framework. 2019-10-04 15:53:06 -04:00
draveness
c73ff9749b feat(scheduler): rename PluginContext to CycleState 2019-10-04 17:30:36 +08: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
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
draveness
314ec4e504 feat(scheduler): consolidate ScoreWithNormalizePlugin into ScorePlugin 2019-09-26 10:19:06 +08: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
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
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
Ahmad Diaa
bf6a70a1ce use scheduler.Option in initTestSchedulerWithOptions 2019-09-21 00:06:42 +02:00
Ahmad Diaa
995e741ef9 use scheduler.New in createConfiguratorArgsWithPodInformer 2019-09-21 00:06:41 +02:00
Kubernetes Prow Robot
c7619bd770
Merge pull request #80824 from damemi/preemption-e2e-to-integration
Move PodPriorityResolution e2e to integration
2019-09-20 12:27:25 -07:00
Mike Dame
ca18b48151 Move PodPriorityResolution e2e to integration 2019-09-19 20:25:03 -04:00
Kubernetes Prow Robot
b0e5b9c7b0
Merge pull request #82842 from ahg-g/ahg-framework-config
Modified the Filter interface to pass in nodeinfo instead of node name.
2019-09-19 11:05:39 -07:00
Kubernetes Prow Robot
a54dba0d84
Merge pull request #81856 from damemi/ravig-fix-tbe
Convert TaintBasedEvictions e2e to integration test
2019-09-18 14:49:01 -07: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
ravisantoshgudimetla
7e1794dcb1 Convert tbe e2e to integration test 2019-09-18 13:24:54 -04:00
Kubernetes Prow Robot
af88acc812
Merge pull request #82704 from ahg-g/ahg-default-registry
Resolved cycle dependency in framework plugins registration
2019-09-13 18:06:40 -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
Ahmad Diaa
801cc549be migrate scheduler api types to sized integers 2019-09-12 19:06:40 +02:00
Abdullah Gharaibeh
54ac023a53 Scheduler PreBind plugins are currently allowed to return Unschedulable status, which should not according to the KEP and comments. 2019-09-11 14:03:18 -04:00
Kubernetes Prow Robot
4b6c32c097
Merge pull request #82121 from Zhuzhenghao/typo/bound
Typo fix: binded -> bound
2019-09-11 10:39:28 -07:00
Kubernetes Prow Robot
e1a432f08e
Merge pull request #81384 from Huang-Wei/fix-preemption-flakes
Apply zero TerminationGracePeriodSeconds to preemption victims
2019-09-10 14:30:17 -07:00
朱正浩,Zhu Zhenghao
aa20910e24 Typo fix: binded -> bound 2019-08-29 18:28:36 +08:00
Kubernetes Prow Robot
927f45191e
Merge pull request #81527 from yastij/move-controller-util
move WaitForCacheSync to the sharedInformer package
2019-08-27 00:52:54 -07:00
draveness
af2e0428f6 feat: use PreBind instead of Prebind in the scheduling framework 2019-08-23 02:09:19 +08:00
draveness
03f0934c80 feat: use PostBind instead of Postbind in the scheduling framework 2019-08-23 02:09:12 +08:00
draveness
f3816fb757 feat: use PreFilter instead of Prefilter in the scheduling framework 2019-08-23 02:09:00 +08:00
Yassine TIJANI
7e4c3096fe move WaitForCacheSync to the sharedInformer package
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-08-22 16:13:41 +01:00
Jun Gong
d9a7439ca0 Refactor NewXXXPlugin in framework_test to avoid package variable and do some other refactor 2019-08-20 09:52:26 +08:00
Ahmad Diaa
61ab77ef7a use factory.Config fields directly in scheduler struct 2019-08-16 15:21:28 +02:00
Kubernetes Prow Robot
7a35f8c92d
Merge pull request #81015 from draveness/feature/update-normalize-score-extension-point
feat:  return error when score is out of range
2019-08-15 02:32:35 -07:00
draveness
9fb0df5096 feat(scheduler): return error when score is out of range 2019-08-14 19:16:41 +08:00
Wei Huang
3cd7277361
Apply zero TerminationGracePeriodSeconds to preemption victims 2019-08-13 13:39:17 -07:00
Jun Gong
d0d46fdc7b Fix flaky test TestPreemptWithPermitPlugin 2019-08-13 11:48:32 +08:00
Kubernetes Prow Robot
f0474ba868
Merge pull request #81050 from msau42/integration-test2
Move volume scheduling integration tests into a separate pkg
2019-08-08 07:59:19 -07:00
Kubernetes Prow Robot
678bc948d3
Merge pull request #81006 from hex108/fix_test
Refine TestFilterPlugin
2019-08-08 06:27:18 -07:00
Michelle Au
d38bcde9b8 add scheduling utils
Change-Id: I238e6486473aef68f1600d8b574e971e86e70089
2019-08-07 11:21:02 -07:00
Michelle Au
323f000e4f move volume scheduling tests
Change-Id: I80d9e806090099b9e53cc14a023735ed9f0a2b8b
2019-08-07 11:09:34 -07:00
Kubernetes Prow Robot
1a01d10f5f
Merge pull request #80590 from alculquicondor/refactor/configurator-pod
Remove Configurator interface
2019-08-06 21:05:31 -07:00
Jun Gong
a2f178ecd7 Refine TestFilterPlugin 2019-08-06 13:41:32 +08:00