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
fengzixu
b67a033de2
Refactor: move generic functions of integration test to util directory
2020-02-29 14:56:39 +09:00
Mike Dame
18ffaf5608
Move scheduler extender API V1 to staging k8s.io/kube-scheduler
2020-02-27 12:10:59 -05:00
Aldo Culquicondor
07c4982245
Add unit and integration tests for multiple profiles support
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-26 10:14:03 -05:00
Aldo Culquicondor
c048858471
Support multiple scheduling profiles in a single scheduler
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-25 11:31:20 -05:00
Kubernetes Prow Robot
48def7e7c3
Merge pull request #88105 from Huang-Wei/pts-e2e
...
Graduate PodTopologySpread to Beta
2020-02-16 18:59:28 -08:00
skilxn-go
8fd0d8028f
Remove FilteredNodesStatuses
argument from PreScore
interface
2020-02-15 13:53:04 +08:00
Wei Huang
c93dffdfc4
E2E tests for PodTopologySpread
2020-02-14 16:48:35 -08:00
Aldo Culquicondor
99bda6fac0
Remove HardPodAffinityWeight from v1alpha2
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-02-13 11:59:56 -05:00
skilxn-go
f5b7e3cca3
Rename PostFilter
plugin to PreScore
2020-02-12 23:25:08 +08:00
Mike Danese
25651408ae
generated: run refactor
2020-02-08 12:30:21 -05:00
Mike Danese
3aa59f7f30
generated: run refactor
2020-02-07 18:16:47 -08:00
Aldo Culquicondor
4a5ab84dcc
Move default binding to a plugin
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-22 14:13:33 -05:00
Kubernetes Prow Robot
3538320d74
Merge pull request #87165 from alculquicondor/cleanup/mv_snapshot_2
...
Move Snapshot to internal/cache
2020-01-17 17:14:07 -08:00
Aldo Culquicondor
f53d7e55df
Move Snapshot from nodeinfo/snapshot to internal/cache
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-01-17 13:29:41 -05:00
Kubernetes Prow Robot
127a2edafd
Merge pull request #87298 from mikedanese/prectx
...
rename some declartions named context in tests
2020-01-17 10:14:57 -08:00
Wei Huang
c712230ac1
Implement default queue sort logic as a scheduler plugin
2020-01-16 19:10:43 -08:00
Mike Danese
d86fcd8c90
rename some declartions named context in tests
2020-01-16 15:09:28 -08:00
notpad
372d09cd15
Add integration test for NodeResourceLimits plugin
2020-01-15 08:12:58 +08:00
Kubernetes Prow Robot
2c800c5a70
Merge pull request #86985 from ahg-g/ahg-cleanup4
...
Remove test/integration dependency on predicates and algorithmprovider
2020-01-08 21:29:58 -08:00
Abdullah Gharaibeh
c86f59610c
remove test/integration dependency on predicates and algorithmprovider
2020-01-08 19:51:22 -05:00
Mike Dame
d227b7822f
Move selector spreading priority code to plugin
2020-01-08 13:37:37 -05:00
Abdullah Gharaibeh
b535ed3b0c
Merge scheduler's ConfigProducerRegistry into LegacyRegistry
2020-01-02 16:40:33 -05:00
Kubernetes Prow Robot
36db62cd73
Merge pull request #86737 from oomichi/add-test-title-in-TestPreemption
...
Output test description in TestPreemption
2019-12-30 23:15:39 -08:00
Kenichi Omichi
00abe6d505
Output test description in TestPreemption
...
Now we are facing flake test of TestPreemption due to less available
node. TestPreemption consists of multiple test cases and the resource
is shared in them.
At this time, we cannot see what test cases run before the flake
happens. So it is better to know that to distinguish the cleanup of
pods is not completed or not.
2019-12-31 00:14:03 +00:00
Kenichi Omichi
43d9748d3a
Add error handling for Register() call
...
Register() can return an error as [1], so this adds the error handling.
[1]: f772c9017c/pkg/scheduler/framework/v1alpha1/registry.go (L56)
2019-12-30 23:35:26 +00:00
Kubernetes Prow Robot
4158e7c1de
Merge pull request #85123 from danielqsj/apierrs
...
Unify aliases for "k8s.io/apimachinery/pkg/api/errors"
2019-12-26 17:59:38 -08:00
danielqsj
6596a14d39
add missing alias of api errors under test
2019-12-26 17:29:38 +08:00
Abdullah Gharaibeh
2b3df3587e
Deprecate scheduler predicate and priority factory registration
2019-12-25 20:33:08 -05:00
Abdullah Gharaibeh
fe7de96ebe
cleanup scheduler's in-tree plugins registry naming
2019-12-24 15:56:36 -05:00
SataQiu
21c916c3d2
move Taint and toleration predicate to its Score plugin
2019-12-24 19:22:12 +08:00
Abdullah Gharaibeh
119a9a94d1
InterPodAffinity Priority as Score plugin
2019-12-19 13:42:49 -05:00
Abdullah Gharaibeh
b3abfdc9e4
registered nodeports and noderesources prefilters
2019-12-17 07:29:37 -05:00
Kubernetes Prow Robot
c34d140241
Merge pull request #86129 from damemi/remove-priority-code
...
Remove priority execution path from prioritizeNodes in generic_scheduler
2019-12-13 01:41:04 -08:00
Mike Dame
255ab6d2c3
Remove priority execution paths in favor of score plugins
...
Mainly affects core/generic_scheduler.go (and related tests). Removes the "prioritizers" field and related functions.
2019-12-12 19:30:44 -05:00
Abdullah Gharaibeh
2fdf1fa3c1
inter-pod affinity prefilter
2019-12-12 15:20:14 -05:00
Wei Huang
dc3d1bd238
Eliminate running paths of Predicates in scheduler
...
- eliminate running paths of Predicates in scheduler; use Filter Plugins instead.
- refactor all unit tests
- adjust the TestPreemptWithPermitPlugin integration test
2019-12-10 19:14:13 -08:00
Igor Zibarev
6350095d3c
scheduler: make algorithm source an option
...
Changes scheduler.New so that algorithm source is moved from the
parameter to an option. The default algorithm source is source with the
DefaultProvider.
2019-11-13 10:22:29 +03:00
Aldo Culquicondor
6a98c93f3c
Add MetadataProducerFactory for predicates
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-11-11 11:27:44 -05:00
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