Commit Graph

500 Commits

Author SHA1 Message Date
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
Amim Knabben
5e679cf51f Scheduler integration tests standarization 2020-06-07 09:47:11 -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
Kubernetes Prow Robot
4dfa0912a0 Merge pull request #91734 from nodo/pod-deleted-unschedulable-pod-integration-tests
Add test case for a pod becoming schedulable when another pod is deleted
2020-06-04 13:52:56 -07:00
Andrea Nodari
e3bca5adc7 Add test case for a pod becoming schedulable when another pod is deleted 2020-06-04 18:11:19 +02:00
Wei Huang
7f178b2831 Adjust weight of PodTopologySpread to 2 in legacy Policy API 2020-06-04 07:35:25 -07:00
Kubernetes Prow Robot
2dc7b68b83 Merge pull request #91598 from Huang-Wei/podtopologyspread-ga
Remove `EvenPodsSpread` featuregate and related logic
2020-06-04 07:05:28 -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
Yecheng Fu
1ff09c0934 Remove BindTimeoutSeconds from KubeSchedulerConfiguration 2020-06-03 09:54:06 +08:00
Kubernetes Prow Robot
a4e7db7cc3 Merge pull request #91336 from nodo/node-changed-unschedulable-pod-integration-tests
Add test case for a pod becoming schedulable when a node is updated
2020-06-02 13:26:17 -07:00
Wei Huang
133dde6358 Remove EvenPodsSpread featuregate and related logic 2020-06-02 11:24:12 -07:00
Alex Wang
505ae6930f add integration-test for NonPreemption 2020-05-29 11:54:03 +08:00
Andrea Nodari
8a39a2c24e Add test case for a pod becoming schedulable when a node is updated
Also, avoid unnecessary copying when changing node taints
2020-05-25 21:59:36 +02:00
Kubernetes Prow Robot
6cf4ab3c8c Merge pull request #91071 from alculquicondor/integration_new_node
Add test case for a pod becoming schedulable when a node is added
2020-05-19 15:22:33 -07: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
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
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
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
Aldo Culquicondor
c8e2d5ba7c Add test case for a pod becoming schedulable when a node is added
We have little coverage around node addition and removal. Since distinct event handlers interact, it is important to cover this in integration tests.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-14 11:59:41 -04:00
Aldo Culquicondor
35b9ab1227 Remove unnecessary clientset arg from initPausePod
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-05-14 11:47:12 -04:00
Jan Chaloupka
65e9826f79 integration: start informer and scheduler outside of InitTestScheduler
In case two or more controllers share the informers created through InitTestScheduler,
it's not safe to start the informers until all controllers set their informer
indexers. Otherwise, some controller might fail to register their indexers
in time. Thus, it's responsibility of each consumer to make sure all informers
are started after all controllers had time to get initiliazed.
2020-05-13 18:19:43 +02:00
Yecheng Fu
c14b749521 scheduler/volumebinding: move all volume binding logic into VolumeBinding plugin 2020-05-12 10:13:05 +08:00
Wei Huang
fc11871c61 test: Use dedicated informerFactory for node lifecycle controller 2020-05-07 15:01:55 -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
Abdullah Gharaibeh
b8ddd00312 scheduler's NodeInfo tracks PodInfos instead of Pods 2020-04-08 17:53:20 -04:00
Abdullah Gharaibeh
a5d8172715 move nodeinfo type to framework pkg 2020-04-07 10:25:24 -04:00
Abdullah Gharaibeh
ed3fe054df move scheduler nodeinfo to pkg/scheduler/types 2020-03-31 21:02:09 -04:00
skilxn-go
6b8fc8dc5e Move TaintBasedEvictions feature gates to GA 2020-03-09 10:49:00 +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
34c4407d34 Merge pull request #88152 from fengzixu/master
cleanup: move the test of TaintBasedEvictions features to sig-node
2020-03-05 20:03:43 -08:00
Mike Danese
aaf855c1e6 deref all calls to metav1.NewDeleteOptions that are passed to clients.
This is gross but because NewDeleteOptions is used by various parts of
storage that still pass around pointers, the return type can't be
changed without significant refactoring within the apiserver. I think
this would be good to cleanup, but I want to minimize apiserver side
changes as much as possible in the client signature refactor.
2020-03-05 14:59:46 -08:00
Mike Danese
c58e69ec79 automated refactor 2020-03-05 14:59:46 -08:00
Mateusz Litwin
b93e3d18e9 fix scheduler.TestCoSchedulinngWithPermitPlugin and test scheduler.PermitPlugin
After moving Permit() to the scheduling cycle test PermitPlugin should
no longer wait inside Permit() for another pod to enter Permit() and become waiting pod.
In the past this was a way to make test work regardless of order in
which pods enter Permit(), but now only one Permit() can be executed at
any given moment and waiting for another pod to enter Permit() inside
Permit() leads to timeouts.

In this change waitAndRejectPermit and waitAndAllowPermit flags make first
pod to enter Permit() a waiting pod and second pod to enter Permit()
either rejecting or allowing pod.

Mentioned in #88469
2020-03-04 08:45:36 -08:00
fengzixu
076132e38a cleanup: move the test of TaintBasedEvictions features to sig-node
1. move the integration test of TaintBasedEvictions to test/integration/node
2. move the e2e test of TaintBasedEvictions e2e test/e2e/node
3. modify the conformance file to adapt the TaintBasedEviction test
2020-03-04 10:28:00 +09:00