Commit Graph

487 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
147a120948
Merge pull request #82222 from Huang-Wei/0-informer-sync-period
Set 0 sync period in scheduler integration test
2020-11-16 11:16:04 -08:00
Kubernetes Prow Robot
3e43d5b92a
Merge pull request #96292 from wangyx1992/cleanup-scheduler-log-capatilization
cleanup: fix log capitalization in scheduler
2020-11-12 11:20:45 -08:00
Yixiang2019
842cc6b4e2 cleanup: fix log capitalization in scheduler
Signed-off-by: Yixiang2019 <wang.yixiang@zte.com.cn>
2020-11-12 20:10:26 +08:00
Wei Huang
af384f27ed
Fix failures in TestBindPlugin and TestPreemptWithPermitPlugin 2020-11-11 12:56:13 -08:00
Wei Huang
185093bd4e
Set 0 sync period in scheduler integration test 2020-11-11 12:56:13 -08:00
Wei Huang
47a7c374c6
Fix a bug that DefaultPreemption plugin is disabled when using scheduler policy 2020-11-10 17:48:32 -08:00
Wei Huang
b5eeb8cd0f
cleanup dated wording "NominatedNodeName annotation" 2020-11-06 13:42:01 -08:00
Tim Hockin
819ff9b087
Use topology labels instead of old beta names (#96033)
* Rename const for topology.../zone

* Rename const for topology.../region

* Rename const for failure-domain.../zone

* Rename const for failure-domain.../region

* Restore old names for compat
2020-11-05 20:26:50 -08:00
Wei Huang
a146cb0aa0
Replace calls to cs.CoreV1().Nodes().Create() with createNode() 2020-11-03 15:25:44 -08:00
Wei Huang
f054765762
Add a function to ensure created nodes are present in scheduler cache 2020-11-03 15:25:44 -08:00
Kubernetes Prow Robot
237dae5a5e
Merge pull request #95807 from Huang-Wei/postfilter-int-test-flake
Deflake PostFilter integration test
2020-10-23 12:15:16 -07:00
Wei Huang
6e7b20543c
Deflake PostFilter integration test 2020-10-22 13:48:50 -07:00
Aldo Culquicondor
f6fb0bd308 Add integration test for Default PodTopologySpread
Simulating a cluster with 500 nodes in 3 zones, deploying 3, 12 and 27 Pods belonging to the same service.

Change-Id: I16425594012ea7bd24b888acedb12958360bff97
2020-10-22 13:42:50 -04:00
Aldo Culquicondor
87c8349bdc Graduate DefaultPodTopologySpread to beta
And set to enabled by default

Change-Id: Ie4cc4758c52492924cb0663450f2747908cb5882
2020-10-19 16:58:09 -04:00
Ali
09b2e8f638 Move scheduler interface to pkg/scheduler/framework 2020-10-13 13:13:27 +11:00
Kubernetes Prow Robot
c72b30b3b7
Merge pull request #93534 from everpeace/score-in-preemption-handle
scheduler: expose Run[Pre]ScorePlugins functions to PreemptionHandle(through PluginRunner)
2020-10-09 20:34:47 -07:00
Wei Huang
d8def59871
Initialize scheduler's podInformer in sharedInformerFactory
Scheduler's specific podInfomer is now initialized inside the sahredInformerFactory.
2020-09-08 12:57:17 -07: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
Shingo Omura
d0421fa9c3
Fix TestScorePlugin: numScore should be accessed with atomic.LoadInt32 2020-08-04 22:50:13 +09:00
Shingo Omura
ef1fab7642
expose Run[Pre]ScorePlugins functions in PluginRunner interface 2020-08-04 22:50:13 +09:00
Wei Huang
b6b7ab3f73
Deflake scheduler PostBind integration test 2020-08-03 12:30:22 -07:00
Kubernetes Prow Robot
9af4ad5c45
Merge pull request #93550 from Huang-Wei/refix-postfilter-flake
Deflake scheduler PostFilter and Filter integration test
2020-07-30 04:30:31 -07:00
Wei Huang
539272cb73
Deflake scheduler PostFilter and Filter integration test
- Revert "Fix integration test flake on TestFilter and TestPostFilter"
  This reverts commit 94fc18c2dc.
- Relax checking logic on expected Filter/PostFilter counters.
2020-07-29 18:37:47 -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
Wei Huang
94fc18c2dc
Fix integration test flake on TestFilter and TestPostFilter 2020-07-28 20:51:01 -07:00
Wei Huang
862fdaaf79
Fix an integration test flake on NodeAfffinity ScorePlugin 2020-07-28 08:57:02 -07:00
Wei Huang
8936f9e4bf
Fix integration test flake on TestScorePlugin 2020-07-27 18:13:38 -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
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
Chelsey Chen
ade2422883 Switch event recorder to use events.k8s.io/v1 2020-07-02 14:50:41 -04:00
Andrea Nodari
a759fb20ff Create nodes with labels instead of adding them later 2020-07-02 08:56:32 +02: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
281023790f
Merge pull request #92501 from rakeshreddybandi/rename-plugin
Rename DefaultPodTopologySpread plugin #91994
2020-06-29 18:34:58 -07:00
RAKESH REDDY BANDI
d44a20f9ca Rename DefaultPodTopologySpread plugin #91994 2020-06-27 13:46:31 -04: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
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
Yecheng Fu
4627b419b4 tests only 2020-06-23 22:18:33 +08: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
Ali Farah
a22e115a0e Split scheduler framework implementation into new runtime package 2020-06-22 00:23:43 +10:00
Kubernetes Prow Robot
e760ecd50f
Merge pull request #92074 from nodo/pod-added-unschedulable-pod-integration-tests
Test pod becoming schedulable when another pod is added or updated
2020-06-16 19:23:33 -07:00
Andrea Nodari
0c23caf8e7 Test a pod becoming schedulable when a scheduled pod is updated 2020-06-16 20:39:58 +02:00
Andrea Nodari
ad0bee482e Add test case for a pod becoming schedulable when another pod is added 2020-06-16 20:29:55 +02: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
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
fc30f8854d
Merge pull request #91849 from knabben/scheduler-integration-pre
Scheduler integration tests standarization
2020-06-08 21:44:26 -07:00
Kubernetes Prow Robot
c5894cadc3
Merge pull request #91828 from knabben/scheduler-integration-test
Scheduler integration framework table-driven tests
2020-06-08 21:44:17 -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
Amim Knabben
fcb41d3d2c Integration framework table-tests standarization 2020-06-08 14:03:54 -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