Commit Graph

6012 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
ec64aef25f Merge pull request #74321 from yastij/signal-undecorated-storage-event
use cache size to signal undecorated storage
2019-03-24 03:21:05 -07:00
Kubernetes Prow Robot
9f15368c5c Merge pull request #75576 from smarterclayton/bad_2
Remove use of `%#v` in frequently accessed code
2019-03-22 23:59:05 -07:00
Kubernetes Prow Robot
206ecb4ab8 Merge pull request #71326 from shomron/issue-71277-polluntil-leak
Fix goroutine leak in pkg/util/wait PollUntil()
2019-03-22 20:57:06 -07:00
Kubernetes Prow Robot
3312da83c9 Merge pull request #75602 from smarterclayton/kubelet_proto
Kubelet should request protobuf from the apiserver
2019-03-22 15:46:34 -07:00
Kubernetes Prow Robot
994582965d Merge pull request #75496 from andrewsykim/area-cloudprovider-label
add area/cloudprovider label for changes in pkg/cloudprovider & k8s.i…
2019-03-22 15:46:21 -07:00
Clayton Coleman
0489d0b1cf Unify runtime.SerializerInfo with negotiate.AcceptedMediaTypes
There was no reason to have two types and this avoids ~10% of allocations
on the GET code path.

```
BenchmarkGet-12          	  100000	    109045 ns/op	   17608 B/op	     146 allocs/op

BenchmarkGet-12          	  100000	    108850 ns/op	   15942 B/op	     132 allocs/op
```
2019-03-22 13:24:25 -04:00
Clayton Coleman
59b4f47b22 Avoid 3 object creations when no dryRun parameter is provided
These allocations should only occur rarely.

```
BenchmarkGet-12          	  100000	    108013 ns/op	   17732 B/op	     149 allocs/op

BenchmarkGet-12          	  100000	    109045 ns/op	   17608 B/op	     146 allocs/op
```
2019-03-22 13:24:24 -04:00
Clayton Coleman
83c41eab1d Avoid an allocation on all requests when checking for an old user agent
ReplaceAllStrings always allocates, while scanning a relatively short
regex twice is slightly more CPU immediately but less later.

```
BenchmarkGet-12          	  100000	    108824 ns/op	   17818 B/op	     152 allocs/op

BenchmarkGet-12          	  100000	    108013 ns/op	   17732 B/op	     149 allocs/op
```
2019-03-22 13:24:24 -04:00
Clayton Coleman
58fb665646 IsListType uses reflection and is expensive for hot paths
IsListType was causing ~100 allocations for a non list object. It is
used in a wide range of code, so perform a more targeted check.

The use of `%#v` in a hot return path for `fmt.Errorf()` was the main
victim.

Replace `%#v` with a typed error and create a cache of types that are
lists with a bounded size (probably not necessary, but safer).

```
BenchmarkGet-12          	  100000	    119635 ns/op	   20110 B/op	     206 allocs/op
BenchmarkWatchHTTP-12    	  100000	     65761 ns/op	    7296 B/op	     139 allocs/op

BenchmarkGet-12          	  100000	    109085 ns/op	   17831 B/op	     152 allocs/op
BenchmarkWatchHTTP-12    	  200000	     33966 ns/op	    1913 B/op	      30 allocs/op
```
2019-03-22 13:24:24 -04:00
Clayton Coleman
7d53ad1fb0 Kubelet should request protobuf from the apiserver
The kubelet was not asking for application/vnd.kubernetes.protobuf
on list and get calls. It looks like we lost that code when we
moved to cert rotation. Clean up the client initialization path
and make sure that all non-dynamic clients use protobuf by default.
2019-03-22 12:42:20 -04:00
Clayton Coleman
2e1506558a Add benchmark for naive endpoint Get so we can measure it
Baseline:

```
BenchmarkGet-12          	  100000	    119635 ns/op	   20110 B/op	     206 allocs/op
BenchmarkWatchHTTP-12    	  100000	     65761 ns/op	    7296 B/op	     139 allocs/op
```
2019-03-22 11:43:39 -04:00
Kubernetes Prow Robot
e739b55374 Merge pull request #75585 from tiffanyfay/cache
Updated client-go expiration cache to take in expiration policies
2019-03-22 07:06:20 -07:00
Kubernetes Prow Robot
1e184775aa Merge pull request #75214 from deads2k/health
provide verbose output when health check fails
2019-03-22 05:22:31 -07:00
tiffany jernigan
bc226a2a89 Updated client-go expiration cache to take in expiration policies 2019-03-22 07:38:35 +00:00
Kubernetes Prow Robot
ab35bd0668 Merge pull request #75577 from mars1024/bugfix/use_add_in_enqueue
replace AddRateLimited with Add in enqueue func
2019-03-22 00:04:57 -07:00
Kubernetes Prow Robot
83d467c22e Merge pull request #75270 from justincormack/uuid4
Use UUIDv4 not UUIDv1
2019-03-22 00:04:17 -07:00
Bruce Ma
0335867b56 replace AddRateLimited with Add in enqueue func 2019-03-22 11:40:23 +08:00
Clayton Coleman
435db312e1 Avoid using %#v for errors when %T is more informative
`%#v` may have significant performance costs in frequently invoked code.
2019-03-21 22:54:06 -04:00
Clayton Coleman
ecd43f13cf Avoid using %#v for errors when %T or %s would be more accurate
`%#v` may have significant performance costs in frequently invoked code.
2019-03-21 22:53:43 -04:00
Clayton Coleman
082aee343e Avoid using %#v for errors when %T is clearer
`%#v` may have significant performance costs in frequently invoked code.
2019-03-21 22:53:07 -04:00
Levi Blackstone
a9cba032de Check for required name parameter in dynamic client
The Create, Delete, Get, Patch, Update and UpdateStatus
methods in the dynamic client all expect the name
parameter to be non-empty, but did not validate this
requirement, which could lead to a panic. Add explicit
checks to these methods.
2019-03-21 09:28:36 -06:00
Kubernetes Prow Robot
ed4258e5c0 Merge pull request #75264 from smarterclayton/optimize_rbac_visit
Avoid allocating when performing VisitRulesFor on service accounts
2019-03-20 19:19:35 -07:00
Kubernetes Prow Robot
59140d6474 Merge pull request #75295 from DataDog/lbernail/strict-arp-flag
[kube-proxy/ipvs] Add flag to enable strict ARP
2019-03-20 07:41:51 -07:00
Kubernetes Prow Robot
5229bce04f Merge pull request #75279 from danielqsj/admission-metrics
remove the deprecated admission metrics
2019-03-20 07:41:22 -07:00
Kubernetes Prow Robot
b3be84dcc5 Merge pull request #75240 from kairen/update-client-go-example
client-go: update leader election example
2019-03-20 05:24:23 -07:00
Kubernetes Prow Robot
481de197c0 Merge pull request #75156 from smarterclayton/diff_invalid
Handle nil interface inputs to diff.ObjectReflectDiff
2019-03-20 00:55:01 -07:00
Kubernetes Prow Robot
6f9bf5fe98 Merge pull request #71548 from smarterclayton/watch_converted
Support Table and PartialObjectMetadata on watch
2019-03-19 22:42:22 -07:00
Andrew Sy Kim
e2ad79a302 add area/cloudprovider label for changes in pkg/cloudprovider & k8s.io/cloud-provider
Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
2019-03-19 21:16:20 -07:00
Kubernetes Prow Robot
6a2936dcbf Merge pull request #74642 from SataQiu/fix-golint-20190227
Fix golint failures in client-go/scale/scheme/appsint, client-go/scale/scheme/extensionsint, client-go/scale/scheme
2019-03-19 20:14:54 -07:00
Kubernetes Prow Robot
0685b04b2a Merge pull request #74592 from lou-lan/delete-blank
delete duplicate empty blanks
2019-03-19 20:14:41 -07:00
Kubernetes Prow Robot
a6677d6f3e Merge pull request #73409 from yue9944882/bugfix/compatible-with-nil-authorizer
Fixes authz compatibility w/ nil authorizer in apiserver
2019-03-19 19:00:52 -07:00
Kubernetes Prow Robot
86f6279bb9 Merge pull request #72919 from liggitt/crd-quiet-conflict
Avoid logging normal conflict/notfound error responses in CRD controllers
2019-03-19 19:00:38 -07:00
Yassine TIJANI
8261d3d9a6 use cache size to signal undecorated storage 2019-03-19 23:48:07 +01:00
Kyle Bai
8a82b21f46 client-go: update leader election example 2019-03-19 15:48:02 +08:00
Haowei Cai
df1ee5e778 generated 2019-03-13 15:16:50 -07:00
Clayton Coleman
4c87a14e6b Avoid allocating when performing VisitRulesFor on service accounts
Service account authorization checks are done frequently and were
observed to perform 7% of allocations on a system running e2e tests.
The allocation comes from when we walk the authorization rules to
find matching service accounts.

Optimize the check for service account names to avoid allocating.
2019-03-13 17:40:21 -04:00
Kubernetes Prow Robot
e7d09ceb50 Merge pull request #75289 from dims/update-http2-dep-go-1.12
Update golang.org/x/net/... dependencies to release-branch.go1.12
2019-03-13 04:33:46 -07:00
Kubernetes Prow Robot
93402fc8e8 Merge pull request #75277 from jennybuckley/fix-ints
Fix server side apply int/float bug
2019-03-12 17:36:40 -07:00
Kubernetes Prow Robot
cc8afb25fc Merge pull request #74040 from ajatprabha/issue_73648
add ResourceVersion to DeleteOptions.Preconditions
2019-03-12 15:44:38 -07:00
Kubernetes Prow Robot
0977ab69ad Merge pull request #75157 from aaron-prindle/version-check-apply
Added version check between patch and live object in server side apply
2019-03-12 13:19:06 -07:00
Justin Cormack
0fb4b81c3f Use UUIDv4 not UUIDv1
UUIDv1 has several disadvantages:
 - it encodes the MAC address of the host, which is a potential privacy issue
 - it uses the clock of the host, which reveals time information
 - the clock is very coarse, hence the complex code handling duplicates

UUIDv4 is simply a 122 bit random number encoded into the UUID format, which
has no problems with duplicates or locking.

Use the google/uuid library, as newer versions of pborman/uuid just wrap the
Google upstream.

Note that technically a random UUID might fail, but Go ensures that this
should not take place, as it will block if entropy is not available.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2019-03-12 16:03:21 +00:00
Davanum Srinivas
2aa1348e6c Update to go 1.12 version of golang.org/x/net
Change-Id: I3f2fa5d7b6811c9eca58992318d19e44ec9131fd
2019-03-12 11:30:24 -04:00
Laurent Bernaille
09f821ddb5 [kube-proxy/ipvs] Add flag to enable strict ARP 2019-03-12 15:56:22 +01:00
Prasad Ghangal
317ecf58cc Update golang.org/x/net/... dependencies to release-branch.go1.11
- latest grpc-ecosystem/go-grpc-middleware

Change-Id: Ida7d01e4606f6e0313e1355db6e85be0c0ef1dd1
2019-03-12 09:48:52 -04:00
ajatprabha
4bd0c4ad56 update generated-protobuf 2019-03-12 17:00:42 +05:30
ajatprabha
c2755f6685 update generated-swagger-docs 2019-03-12 17:00:42 +05:30
ajatprabha
fe3b9f486f update testDeleteWithResourceVersion 2019-03-12 17:00:41 +05:30
ajatprabha
4ddc198c39 pin ResourceVersion precondition only when specified 2019-03-12 17:00:41 +05:30
ajatprabha
3135cea2cc add ResourceVersion check to Preconditions#Check 2019-03-12 17:00:40 +05:30
ajatprabha
64ecf9de7f update deepcopy function 2019-03-12 17:00:40 +05:30