Commit Graph

2668 Commits

Author SHA1 Message Date
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
Kubernetes Prow Robot
8876563700 Merge pull request #90360 from tnozicka/fix-client-ca-reload
Fix client-ca dynamic reload in apiserver
2020-04-30 01:10:18 -07:00
Tomas Nozicka
b22a170d46 Fix client-ca dynamic reload in apiserver 2020-04-29 16:03:09 +02:00
Aaron Crickenberger
c209fe8439 fix .import-restrictions to work with import-boss --include-test-files
this is mainly to ensure integration tests (which all end in _test)
are properly bossed around for their imports

I had to adjust some of the _test files to adhere to existing
reverse_rules specified elsewhere
2020-04-28 08:41:36 -07:00
Aaron Crickenberger
f306a0dbb4 convert .import-restrictions to yaml
yaml has comments, so we can explain why we have certain rules or
certain prefixes

for those files that weren't already commented yaml, I converted them to
yaml and took a best guess at comments based on the PRs that introduced
or updated them
2020-04-28 08:41:36 -07:00
Jordan Liggitt
5efcc9e633 Restore cache-control header filter 2020-04-24 15:38:51 -04:00
Jiajie Yang
ae0e52d28c Monitoring safe rollout of time-bound service account token. 2020-04-22 11:59:16 -07:00
Kubernetes Prow Robot
72cdc8c211 Merge pull request #89256 from yue9944882/integration-test-flowcontrol
Priority-level isolation integration test
2020-04-21 05:42:55 -07:00
Antonio Ojea
e3df13439a fix service allocation concurrency issues
The service allocator is used to allocate ip addresses for the
Service IP allocator and NodePorts for the Service NodePort
allocator. It uses a bitmap backed by etcd to store the allocation
and tries to allocate the resources directly from the local memory
instead from etcd, that can cause issues in environment with
high concurrency.

It may happen, in deployments with multiple apiservers, that the
resource allocation information is out of sync, this is more
sensible with NodePorts, per example:

1. apiserver A create a service with NodePort X
2. apiserver B deletes the service
3. apiserver A creates the service again

If the allocation data of apiserver A wasn't refreshed with the
deletion of apiserver B, apiserver A fails the allocation because
the data is out of sync. The Repair loops solve the problem later,
but there are some use cases that require to improve the concurrency
in the allocation logic.

We can try to not do the Allocation and Release operations locally,
and try instead to check if the local data is up to date with etcd,
and operate over the most recent version of the data.
2020-04-20 09:50:00 +02:00
yue9944882
df5dfb46b7 assert shared concurrency 2020-04-18 01:15:54 +08:00
Kubernetes Prow Robot
b35fdbc037 Merge pull request #89904 from alculquicondor/raw-extension-plugin-args
Use RawExtension and Object for external and internal, respectively, scheduling plugin args
2020-04-15 15:22:59 -07:00
Kubernetes Prow Robot
d0183703cb Merge pull request #90059 from ahg-g/ahg-nodeinfo2
Cleanup obsolete NodeInfo methods
2020-04-14 17:32:04 -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
yue9944882
875407a450 add flowcontrol integration test to import whitelist 2020-04-13 22:33:08 +08:00
yue9944882
30bc0fce48 integration test for priority-level isolation 2020-04-13 22:33:07 +08:00
Kubernetes Prow Robot
b17ddac4df Merge pull request #78944 from avorima/golint_fix_job
Fix golint errors in pkg/controller/job
2020-04-12 21:57:47 -07:00
Abdullah Gharaibeh
bed9b2f23b Cleanup obsolete NodeInfo methods 2020-04-12 18:13:46 -04:00
Abdullah Gharaibeh
b8ddd00312 scheduler's NodeInfo tracks PodInfos instead of Pods 2020-04-08 17:53:20 -04:00
Kubernetes Prow Robot
007f7ae7dc Merge pull request #89912 from ahg-g/ahg-fwk
Move scheduler's NodeInfo and Listers types to framework pkg
2020-04-07 12:49:57 -07:00
Abdullah Gharaibeh
a5d8172715 move nodeinfo type to framework pkg 2020-04-07 10:25:24 -04:00
Kubernetes Prow Robot
38f0a8bc74 Merge pull request #89652 from liggitt/relist-timeout
Fix client watch reestablishment handling of client-side timeouts
2020-04-07 01:15:44 -07:00
Kubernetes Prow Robot
821ebaf0c6 Merge pull request #87448 from YuikoTakada/fix_81657_t_integ_dep
Fix static check failures in test/integration/deployment
2020-04-02 21:39:45 -07:00
Abdullah Gharaibeh
ed3fe054df move scheduler nodeinfo to pkg/scheduler/types 2020-03-31 21:02:09 -04:00
Jordan Liggitt
343c1e7636 Fix client watch reestablishment handling of client-side timeouts 2020-03-30 17:48:00 -04:00
Kenichi Omichi
03c7bdcacc Enable import-boss check for integration test
Integration tests imported e2e test code and the dependency made two drawbacks:

- Hard to move test/e2e/framework into staging (#74352)
- Need to run integration tests always even if PRs are just changing e2e test code

This enables import-boss check for blocking such dependency.
2020-03-30 21:09:15 +00:00
Kubernetes Prow Robot
d73907fc25 Merge pull request #89380 from alculquicondor/perf-spreading
Add perf test case for Topology Spreading
2020-03-28 02:43:52 -07:00
Kubernetes Prow Robot
5317a3160c Merge pull request #89106 from chendave/refactor
Decouple yaml based integration test from legacy test
2020-03-27 12:07:53 -07:00
Kubernetes Prow Robot
c0526c60b3 Merge pull request #89216 from gavinfish/inte-benchmark-e2e
Remove dependency for benchmark integration tests from e2e fw
2020-03-26 18:46:23 -07:00
Dave Chen
49283364bf Decouple yaml based integration test from legacy test
- Move utilities or constants out so that both of them should be able
to run independently.
- Rename the legacy test so that it can eventually be deleted when the
perf dash changes is done
2020-03-27 08:45:59 +08:00
Aldo Culquicondor
9b2ff544ed Fix pod affinity performance test configuration
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-26 15:52:44 -04:00
Aldo Culquicondor
671cd33986 Add perf test cases for topology spreading
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-25 10:06:09 -04:00
Aldo Culquicondor
c9314dde59 Add support for multiple label values in test cases
They are assigned in a round robin fashion

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-25 10:06:09 -04:00
Kubernetes Prow Robot
7e7c4d1021 Merge pull request #89272 from alculquicondor/perf-mixed-pods
Add multiple init pods to scheduler perf test cases
2020-03-25 00:29:02 -07:00
Aldo Culquicondor
e902e70d0d Use sqrt(n) chunk size in pod affinity and core scheduler 2020-03-24 10:29:59 -04:00
Kubernetes Prow Robot
4738ba5b49 Merge pull request #89335 from gavinfish/rename-waitforpodcondition
Rename waitForPodCondition to improve code readability
2020-03-23 20:31:01 -07:00
Kubernetes Prow Robot
2ab6357df0 Merge pull request #88528 from ingvagabund/doc-how-to-extend-scheduler-perf-tests
[doc] scheduler_perf: describe suite configuration in more detail
2020-03-23 17:10:47 -07:00
Aldo Culquicondor
5adc4c41e3 Add multiple init pods to perf test cases
Add test case with several init pods with affinity or antiaffinity.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-23 14:55:12 -04:00
Aldo Culquicondor
0e66e56e70 Use b.Fatal instead of klog.Fatal in scheduler perf tests
The test tool doesn't work properly with klog.Fatal

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-23 14:53:15 -04:00
drfish
9d7dc80b48 Rename waitForPodCondition in lifecycle_test.go to improve code readability 2020-03-22 11:53:51 +08:00
Kubernetes Prow Robot
fb9810c341 Merge pull request #89210 from gavinfish/inte-node-e2e
Remove dependency for node integration tests from e2e fw
2020-03-21 20:44:44 -07:00
Kubernetes Prow Robot
332cab4f3b Merge pull request #89223 from gavinfish/inte-framework-e2e
Remove dependency for integration framework tests from e2e fw
2020-03-20 14:02:23 -07:00
Kubernetes Prow Robot
ede025af1b Merge pull request #89232 from apelisse/test-apply-status
Use discovery to test apply all status
2020-03-20 03:52:36 -07:00
Antoine Pelisse
94cb60e0e8 Use discovery to test apply all status 2020-03-19 09:58:46 -07:00
Kubernetes Prow Robot
0f336e09e7 Merge pull request #89236 from liggitt/fix-gc-test
Restore orphaning check in gc test
2020-03-19 06:07:14 -07:00
Kubernetes Prow Robot
1aa64b25a5 Merge pull request #89139 from chendave/flags
Respect flags of testing package
2020-03-18 22:24:48 -07:00
drfish
437765db22 Remove dependency for integration framework tests from e2e fw 2020-03-19 10:18:59 +08:00
Jordan Liggitt
69eb837e3b Restore orphaning check in gc test 2020-03-18 18:04:19 -04:00
drfish
af1e1f4435 Remove dependency for node integration tests from e2e fw 2020-03-18 20:27:15 +08:00