Commit Graph

2669 Commits

Author SHA1 Message Date
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
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
drfish
6cad278a8c Remove dependency for benchmark integration tests from e2e fw 2020-03-18 15:57:37 +08:00
Dave Chen
eedfb593a9 Respect flags of testing package
`go test -c -o "perf.test"`
`./perf.test --help` doesn't understand "help" flag without
calling `flag.Parse` explicitly.
2020-03-16 10:24:15 +08:00
Mateusz Gozdek
dfe1f968ac
kube-apiserver: use SO_REUSEPORT when creating listener on Unix systems
So multiple instances of kube-apiserver can bind on the same address and
port, to provide seamless upgrades.

Signed-off-by: Mateusz Gozdek <mateusz@kinvolk.io>
2020-03-13 23:55:57 +01: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
f52cbea102
Merge pull request #88910 from liggitt/metadata-context
Metadata client: plumb context
2020-03-06 13:18:04 -08:00
Jordan Liggitt
04a72d5ef9 client-go metadata: update callers 2020-03-06 11:07:54 -05:00
Jordan Liggitt
b7c2faf26c client-go dynamic client: add context to callers 2020-03-06 10:56:23 -05:00
Jordan Liggitt
b19dc3a474 client-go dynamic client: update DeleteOptions callers 2020-03-06 10:21:23 -05:00
Hemant Kumar
73611a473f Fix expected version for csidriver
Add a comment about GA feature
2020-03-06 08:21:26 -05:00
Christian Huffman
c6fd25d100 Updated CSIDriver references 2020-03-06 08:21:26 -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
76f8594378 more artisanal fixes
Most of these could have been refactored automatically but it wouldn't
have been uglier. The unsophisticated tooling left lots of unnecessary
struct -> pointer -> struct transitions.
2020-03-05 14:59:47 -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
Jan Chaloupka
b09676921c [doc] scheduler_perf: describe suite configuration in more detail
The configuration file was design as a yaml file on purpose.
To easily extend the test cases without a need to modify
the testing binary. Also, it's possible to extend the configuration
itself to enrich individual test cases.
2020-03-05 11:42:05 +01: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
Kubernetes Prow Robot
a019609d5d
Merge pull request #87508 from jennybuckley/large-obj
Don't save managedFields if object is too large
2020-03-02 16:16:05 -08:00
Kubernetes Prow Robot
4b1ee392c1
Merge pull request #79083 from jackkleeman/client-cert-file-reload
Add ability to reload client certificates from disk
2020-03-02 16:15:53 -08:00
Kubernetes Prow Robot
e87cd59e1b
Merge pull request #88685 from fengzixu/move-util-functions
Refactor: move generic functions of integration test to util directory
2020-03-02 11:43:23 -08:00
Jack Kleeman
929b1559a0 Add ReloadCertFromDisk flag to rest.Config and to kubeconfig which allows the provided client certificate files to be reloaded from disk (currently on every use)
Close outbound connections when using a cert callback and certificates rotate. This means that we won't get into a situation where we have open TLS connections using expires certs, which would get unauthorized errors at the apiserver

Attempt to retrieve a new certificate if open connections near expiry, to prevent the case where the cert expires but we haven't yet opened a new TLS connection and so GetClientCertificate hasn't been called.

Move certificate rotation logic to a separate function

Rely on generic transport approach to handle closing TLS client connections in exec plugin; no need to use a custom dialer as this is now the default behaviour of the transport when faced with a cert callback. As a result of handling this case, it is now safe to apply the transport approach even in cases where there is a custom Dialer (this will not affect kubelet connrotation behaviour, because that uses a custom transport, not just a dialer).

Check expiry of the full TLS certificate chain that will be presented, not only the leaf. Only do this check when the certificate actually rotates. Start the certificate as a zero value, not nil, so that we don't see a rotation when there is in fact no client certificate

Drain the timer when we first initialize it, to prevent immediate rotation. Additionally, calling Stop() on the timer isn't necessary.

Don't close connections on the first 'rotation'

Remove RotateCertFromDisk and RotateClientCertFromDisk flags.

Instead simply default to rotating certificates from disk whenever files are exclusively provided.

Add integration test for client certificate rotation

Simplify logic; rotate every 5 mins

Instead of trying to be clever and checking for rotation just before an
expiry, let's match the logic of the new apiserver cert rotation logic
as much as possible. We write a controller that checks for rotation
every 5 mins. We also check on every new connection.

Respond to review

Fix kubelet certificate rotation logic

The kubelet rotation logic seems to be broken because it expects its
cert files to end up as cert data whereas in fact they end up as a
callback. We should just call the tlsConfig GetCertificate callback
as this obtains a current cert even in cases where a static cert is
provided, and check that for validity.

Later on we can refactor all of the kubelet logic so that all it does is
write files to disk, and the cert rotation work does the rest.

Only read certificates once a second at most

Respond to review

1) Don't blat the cert file names
2) Make it more obvious where we have a neverstop
3) Naming
4) Verbosity

Avoid cache busting

Use filenames as cache keys when rotation is enabled, and add the
rotation later in the creation of the transport.

Caller should start the rotating dialer

Add continuous request rotation test

Rebase: use context in List/Watch

Swap goroutine around

Retry GETs on net.IsProbableEOF

Refactor certRotatingDialer

For simplicity, don't affect cert callbacks

To reduce change surface, lets not try to handle the case of a changing
GetCert callback in this PR. Reverting this commit should be sufficient
to handle that case in a later PR.

This PR will focus only on rotating certificate and key files.
Therefore, we don't need to modify the exec auth plugin.

Fix copyright year
2020-03-02 17:20:16 +00:00
Rob Scott
132d2afca0
Adding IngressClass to networking/v1beta1
Co-authored-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2020-03-01 18:17:09 -08:00
Kubernetes Prow Robot
03b7f272c8
Merge pull request #88246 from munnerz/csr-signername-controllers
Update CSR controllers & kubelet to respect signerName field
2020-02-28 23:38:39 -08:00
fengzixu
b67a033de2 Refactor: move generic functions of integration test to util directory 2020-02-29 14:56:39 +09:00
Kubernetes Prow Robot
268d0a1d3a
Merge pull request #85870 from Jefftree/authn-netproxy
Use Network Proxy with Authentication & Authorizer Webhooks
2020-02-28 18:44:39 -08:00
Kubernetes Prow Robot
0d2844f564
Merge pull request #88666 from ingvagabund/scheduler-perf-do-not-override-throughput-labes
scheduler_perf: do not override throughput labels
2020-02-28 12:55:03 -08:00
Jan Chaloupka
5b3b4de972 scheduler_perf: do not override throughput labels
Throughput labels are currently initialized with a "Name" label.
So we need to append to the map instead of creating a new one.
2020-02-28 16:10:50 +01:00
Elijah Oyekunle
2e187415fd extend CRD map and set validation 2020-02-28 16:00:59 +01:00
Jefftree
1b38199ea8 pass Dialer instead of egressselector to webhooks 2020-02-27 17:47:23 -08:00
Jefftree
d318e52ffe authentication webhook via network proxy 2020-02-27 17:47:23 -08:00
jennybuckley
ccd9e4e2de Don't save managedFields if object is too large 2020-02-27 12:41:44 -08:00
Mike Dame
18ffaf5608 Move scheduler extender API V1 to staging k8s.io/kube-scheduler 2020-02-27 12:10:59 -05:00
James Munnelly
d5dae04898 certificates: update controllers to understand signerName field
Signed-off-by: James Munnelly <james.munnelly@jetstack.io>
2020-02-27 15:54:31 +00:00
James Munnelly
d7e10f9869 Add Certificate signerName admission plugins 2020-02-27 15:50:14 +00:00
James Munnelly
a983356caa Add signerName field to CSR resource spec
Signed-off-by: James Munnelly <james.munnelly@jetstack.io>
2020-02-27 10:17:55 +00: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
fe9073b8c1
Merge pull request #88318 from mborsz/bench
Add BenchmarkSchedulingWaitForFirstConsumerPVs benchmark
2020-02-25 07:52:49 -08:00
Maciej Borsz
bd8ed0a2a7 Add BenchmarkSchedulingWaitForFirstConsumerPVs benchmark 2020-02-25 14:41:14 +01:00
Jan Chaloupka
0f3e0b40f6 scheduler_perf: describe how to run BenchmarkPerfScheduling manually 2020-02-24 19:12:00 +01:00
Kubernetes Prow Robot
d4c5637680
Merge pull request #88200 from liu-cong/benchmark
Make MetricCollector configurable for scheduler benchmark tests
2020-02-19 09:38:26 -08:00
Cong Liu
7f56c753b3 Make MetricCollector configurable for scheduler benchmark tests 2020-02-18 14:02:57 -08: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
Kubernetes Prow Robot
3b22fcc7bd
Merge pull request #88189 from skilxn-go/RemovePreScoreNodeListArguments
[Scheduler Framework]Remove `FilteredNodesStatuses` argument from `PreScore`'s interface
2020-02-15 13:29: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
Benjamin Elder
3fb7183215 bump pause to 3.2 in test/ 2020-02-14 14:03:19 -08:00
Kubernetes Prow Robot
b4db96464b
Merge pull request #88002 from alculquicondor/rm_affinity_weight_2
Remove HardPodAffinitySymmetricWeight from v1alpha2 Component Config
2020-02-13 14:13:25 -08:00
Kubernetes Prow Robot
a53b25ae92
Merge pull request #87923 from ingvagabund/move-direct-prometheus-metrics-under-component-base-metrics
Collect some of scheduling metrics and scheduling throughput (vol. 2)
2020-02-13 14:13:11 -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
Jan Chaloupka
7b5534021c Collect some of scheduling metrics and scheduling throughput
In addition to getting overall performance measurements from golang benchmark,
collect metrics that provides information about insides of the scheduler itself.
This is a first step towards improving what we collect about the scheduler.

Metrics in question:
- scheduler_scheduling_algorithm_predicate_evaluation_seconds
- scheduler_scheduling_algorithm_priority_evaluation_seconds
- scheduler_binding_duration_seconds
- scheduler_e2e_scheduling_duration_seconds

Scheduling throughput is computed on the fly inside perfScheduling.
2020-02-13 13:32:09 +01:00
Kubernetes Prow Robot
8ca96f3e07
Merge pull request #80724 from cceckman/provider-info-e2e
Provide OIDC discovery for service account token issuer
2020-02-13 01:38:35 -08:00
skilxn-go
f5b7e3cca3 Rename PostFilter plugin to PreScore 2020-02-12 23:25:08 +08:00
Kubernetes Prow Robot
52fb02fdbe
Merge pull request #87718 from wojtek-t/kubelet_not_watching_immutable_secret_configmaps
WatchBasedManager stops  watching immutable objects
2020-02-11 23:14:33 -08:00
Charles Eckman
5a176ac772 Provide OIDC discovery endpoints
- Add handlers for service account issuer metadata.
- Add option to manually override JWKS URI.
- Add unit and integration tests.
- Add a separate ServiceAccountIssuerDiscovery feature gate.

Additional notes:
- If not explicitly overridden, the JWKS URI will be based on
  the API server's external address and port.

- The metadata server is configured with the validating key set rather
than the signing key set. This allows for key rotation because tokens
can still be validated by the keys exposed in the JWKs URL, even if the
signing key has been rotated (note this may still be a short window if
tokens have short lifetimes).

- The trust model of OIDC discovery requires that the relying party
fetch the issuer metadata via HTTPS; the trust of the issuer metadata
comes from the server presenting a TLS certificate with a trust chain
back to the from the relying party's root(s) of trust. For tests, we use
a local issuer (https://kubernetes.default.svc) for the certificate
so that workloads within the cluster can authenticate it when fetching
OIDC metadata. An API server cannot validly claim https://kubernetes.io,
but within the cluster, it is the authority for kubernetes.default.svc,
according to the in-cluster config.

Co-authored-by: Michael Taufen <mtaufen@google.com>
2020-02-11 16:23:31 -08:00
Mike Danese
25651408ae generated: run refactor 2020-02-08 12:30:21 -05:00
Kubernetes Prow Robot
334d788f08 Merge pull request #87299 from mikedanese/ctx
context in client-go
2020-02-08 06:43:52 -08:00
Kubernetes Prow Robot
b61f89dd25
Merge pull request #85321 from MikeSpreitzer/apf-printers
Added server-side printers for API priority and fairness
2020-02-07 18:31:58 -08:00
Mike Danese
3aa59f7f30 generated: run refactor 2020-02-07 18:16:47 -08:00
Kubernetes Prow Robot
888bfd62c3
Merge pull request #87897 from kubernetes/revert-85861-scheduler-perf-collect-data-items-from-metrics
Revert "Collect some of scheduling metrics and scheduling throughput"
2020-02-07 05:58:06 -08:00
Kubernetes Prow Robot
9c1e124b15
Merge pull request #87823 from tallclair/test-tokens
Ensure testing credentials are labeled as such
2020-02-06 17:47:29 -08:00
Mike Danese
38ecb30c58
Revert "Collect some of scheduling metrics and scheduling throughput" 2020-02-06 10:18:00 -08:00
Kubernetes Prow Robot
6858c25ee4
Merge pull request #85861 from ingvagabund/scheduler-perf-collect-data-items-from-metrics
Collect some of scheduling metrics and scheduling throughput
2020-02-06 07:05:34 -08:00
Tim Allclair
9d3670f358 Ensure testing credentials are labeled as such 2020-02-04 10:36:05 -08:00
Kubernetes Prow Robot
d52ecd5f70
Merge pull request #86430 from wojtek-t/avoid_thundering_herd_on_etcd
Avoid thundering herd of relists on etcd
2020-02-03 23:09:25 -08:00
Jan Chaloupka
8a1c4a5a88 Collect some of scheduling metrics and scheduling throughput
In addition to getting overall performance measurements from golang benchmark,
collect metrics that provides information about insides of the scheduler itself.
This is a first step towards improving what we collect about the scheduler.

Metrics in question:
- scheduler_scheduling_algorithm_predicate_evaluation_seconds
- scheduler_scheduling_algorithm_priority_evaluation_seconds
- scheduler_binding_duration_seconds
- scheduler_e2e_scheduling_duration_seconds

Scheduling throughput is computed on the fly inside perfScheduling.
2020-02-02 18:02:49 +01:00
Kubernetes Prow Robot
536c2c8918
Merge pull request #87706 from liggitt/fix-statefulset-conversion
Fix statefulset conversion
2020-01-31 20:08:16 -08:00
wojtekt
b11b7d354d WatchBasedManager stops watching immutable objects 2020-01-31 20:53:21 +01:00
Jordan Liggitt
82107ff8ab Restore statefulset conversion that populates apiVersion/kind in volume templates 2020-01-31 07:47:35 -05:00
wojtekt
5dcf08c199 Switch pager to return whether the result was paginated 2020-01-31 11:50:23 +01:00
Mike Danese
d55d6175f8 refactor 2020-01-29 08:50:45 -08:00
YuikoTakada
03974c1ea4 Fix static check failures in test/integration/deployment 2020-01-28 06:08:37 +00:00
Kubernetes Prow Robot
4630690eae
Merge pull request #87457 from 928234269/fix_staticcheck03
fix static check errors in test/integration/etcd
2020-01-22 20:37:47 -08:00
Kubernetes Prow Robot
03cb6afc1a
Merge pull request #87442 from jennybuckley/smd-3
Update structured-merge-diff dependency to v3
2020-01-22 20:37:26 -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
Sakura
8c6d7a7086
fix static check errors in test/integration/etcd
Signed-off-by: Sakura <longfei.shang@daocloud.io>
2020-01-22 23:16:26 +08:00
jennybuckley
b33fbc84d9 Update Structured Merge Diff to V3 2020-01-21 15:23:13 -08:00
Mike Spreitzer
ce12105edc Added server-side printers for the API object types for API priority and fairness 2020-01-20 01:49:05 -05:00
Kubernetes Prow Robot
08dd4f5478
Merge pull request #87357 from yutedz/apisvr-flow-cntl
Add flowcontrol to apiVersionPriorities
2020-01-19 17:07:36 -08:00
Ted Yu
34f0767137 Add flowcontrol to apiVersionPriorities 2020-01-19 14:16:46 -08: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
Kubernetes Prow Robot
4d41f4809f
Merge pull request #86890 from damemi/move-selector-spread-to-plugin
Move selector spreading priority code to plugin
2020-01-08 21:29:45 -08:00
Abdullah Gharaibeh
c86f59610c remove test/integration dependency on predicates and algorithmprovider 2020-01-08 19:51:22 -05:00
Kubernetes Prow Robot
8046feb2b3
Merge pull request #86947 from gavinfish/drfish_redundant_nil_check
Remove redundant nil check in apiserver integration test
2020-01-08 14:46:34 -08:00
Mike Dame
d227b7822f Move selector spreading priority code to plugin 2020-01-08 13:37:37 -05:00
Kubernetes Prow Robot
35434fdfea
Merge pull request #86901 from tanjunchen/staticcheck-002
staticcheck:test/integration/master/
2020-01-08 02:58:55 -08:00
gavinfish
68532e0c0f Remove redundant nil check 2020-01-08 15:28:46 +08:00
tanjunchen
8d313f333e staticcheck:test/integration/master/ 2020-01-07 21:56:37 +08:00
tanjunchen
264a1cf5f6 staticcheck:test/integration/auth/ 2020-01-07 15:23:19 +08:00
Kubernetes Prow Robot
c409446d41
Merge pull request #86781 from SataQiu/staticcheck-20200102
Fix staticcheck failures of test/integration/client test/integration/disruption
2020-01-06 13:34:45 -08:00
Abdullah Gharaibeh
d31dcecd20 cleanup unused scheduler functions/files 2020-01-03 19:09:14 -05:00