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
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