Commit Graph

21 Commits

Author SHA1 Message Date
gitlawr
11b347ca1d Speed up master reconciler tests
Start apiservers in parallel.
Reduce the number of masters.
Reduce the time for ReconcilerMasterLease.* tests from ~85s to ~41s on
average.
2020-08-17 22:28:30 +08:00
Maciej Borsz
3f68000203 Wait for all informers to sync in /readyz. 2020-07-01 07:40:39 +02:00
Kubernetes Prow Robot
342bcf55e8
Merge pull request #89937 from aojea/portAllocator2
portAllocator sync local data before allocate
2020-06-18 19:03:10 -07: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
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
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
Mike Danese
d55d6175f8 refactor 2020-01-29 08:50:45 -08:00
tanjunchen
8d313f333e staticcheck:test/integration/master/ 2020-01-07 21:56:37 +08:00
Kubernetes Prow Robot
7acb066dbc
Merge pull request #81969 from logicalhan/livez
add `/livez` endpoint for liveness probing on the kube-apiserver
2019-08-29 19:56:31 -07:00
Han Kang
aa1b2d6d35 add /livez as a liveness endpoint for kube-apiserver
go fmt

make func private

refactor config_test

Two primary refactorings:

1. config test checkPath method is now each a distinct test
run (which makes it easier to see what is actually failing)

2. TestNewWithDelegate's root path check now parses the json output and
does a comparison against a list of expected paths (no more whitespace
and ordering issues when updating this test, yay).

go fmt

modify and simplify existing integration test for readyz/livez

simplify integration test

set default rbac policy rules for livez

rename a few functions and the entrypoint command line argument (and etcetera)

simplify interface for installing readyz and livez and make auto-register completion a bootstrapped check

untangle some of the nested functions, restructure the code
2019-08-29 14:13:19 -07:00
Haowei Cai
b2c9b1f729 add a test to make sure the CRD OpenAPI path and defintion are protected
from user-defined CRDs
2019-08-29 04:24:47 -07:00
Han Kang
2e23788fda rename healthz methodNames to be more consistent w/ present day usages 2019-08-13 12:52:30 -07:00
Han Kang
981a4c95d9 increase timeout for maximum-startup-sequence-duration to decrease probability of a flake 2019-08-02 13:48:02 -07:00
Han Kang
54dcf5c9c4 add readyz endpoint for kube-apiserver readiness checks
add startup sequence duration and readyz endpoint

add rbac bootstrapping policy for readyz

add integration test around grace period and readyz

rename startup sequence duration flag

copy health checks to fields

rename health-check installed boolean, refactor clock injection logic

cleanup clock injection code

remove todo about poststarthook url registration from healthz
2019-06-17 11:16:13 -07:00
Jordan Liggitt
f100a762bc Stop using apps/v1beta1 in tests 2019-01-31 10:12:38 -05:00
Jordan Liggitt
52519ecb1c remove deprecated openapi paths in favor of /openapi/v2 2019-01-21 16:33:41 -05:00
tanshanshan
acdc45628f use http.StatusOK instead of 200 2018-09-27 08:33:27 +08:00
Ryan Phillips
efe19e4acb master count and lease endpoint tests 2018-04-27 13:03:31 -05:00
Andrew McDermott
6e878767b6 Smoke test for OpenAPI paths in the test server
Add a smoke test that checks for the existence of some representative
paths from the apiextensions-server and the kube-aggregator server,
both part of the delegation chain in kube-apiserver.
2017-11-24 10:14:55 +01:00
dhilipkumars
fd8758b047 Extend apiserver testserver such that in can be used in integration tests
abstract out etcd server creation
test/integration/framework: cleanup master_utils.go
kube-apiserver: move StartTestServer tests into test/integration/master
Fix the failing scale test
kube-apiserver's TestServer now returns a struct instead of individual values
2017-11-22 15:16:25 +05:30