Commit Graph

178 Commits

Author SHA1 Message Date
Kubernetes Publisher c390dc2e34 Merge pull request #85223 from sttts/sttts-crd-items-types
apiextensions: fix items+type logic in API due to broken go-openapi validation

Kubernetes-commit: 976712556e4bd22d5312a0af36b18127c709d54a
2019-11-21 02:31:11 +00:00
Dr. Stefan Schimanski f605806477 hack/pin-dependency.sh github.com/go-openapi/validate v0.19.5
Kubernetes-commit: ef88c43c0296e6004d0e3407a1336074897b309d
2019-11-15 13:48:59 +01:00
Kubernetes Publisher fbc5d36fee Merge pull request #85305 from codenrhoden/remove-mount-pkg
Remove pkg/util/mount (moved out of tree)

Kubernetes-commit: 45e0080fd5883e3355233c9c22fa5bf242d525dd
2019-11-15 22:28:26 +00:00
Travis Rhoden 5790b8d2d7 Remove pkg/util/mount (moved out of tree)
This patch removes pkg/util/mount completely, and replaces it with the
mount package now located at k8s.io/utils/mount. The code found at
k8s.io/utils/mount was moved there from pkg/util/mount, so the code is
identical, just no longer in-tree to k/k.

Kubernetes-commit: 0c5c3d8bb97d18a2a25977e92b3f7a49074c2ecb
2019-11-14 13:30:00 -07:00
Kubernetes Publisher 14ad457328 Merge pull request #84424 from mikedanese/expcache
Add an expiring cache for the caching token authenticator

Kubernetes-commit: 19b4017b5d5c5695403a9804f5ea3de11a436c04
2019-11-15 02:26:11 +00:00
Kubernetes Publisher 586878aa9d Merge pull request #85285 from liggitt/kubectl-resource-version
Fix --resource-version handling in kubectl

Kubernetes-commit: 141329fd2157a0791b93fae0160ce24d99808607
2019-11-15 02:26:09 +00:00
Kubernetes Publisher 0f4ee8ce68 Merge pull request #85175 from liggitt/golang-org-comments
Add comments to explain golang.org replace directives

Kubernetes-commit: 24334444b46371e26594e1f6e594195a761b53d3
2019-11-14 22:52:35 +00:00
Kubernetes Publisher edc096cc0a Merge pull request #84227 from soltysh/fix_scale_doc
Drop job from scale description

Kubernetes-commit: 37c7c904e1f3730c8a1dc37c5428132a6af3a6f7
2019-11-14 22:52:33 +00:00
Kubernetes Publisher c85971996e Merge pull request #84390 from robscott/endpointslice-beta
Promoting EndpointSlices to beta

Kubernetes-commit: 64f4be5b328a4df8a709b95604743086013a70e4
2019-11-14 11:33:28 +00:00
Jordan Liggitt 163af6a908 Add comments to explain golang.org replace directives
Kubernetes-commit: 9f40e19d7ac9e2203c23814701468a26eee1964f
2019-11-12 23:54:26 -05:00
Mike Danese f2f06b692c Add an expiring cache for the caching token authenticator
And maybe the webhook authorizer cache.

This cache has two primary advantages over the LRU cache used currently:

- Cache hits don't acquire an exclusive lock.
- More importantly, performance doesn't fallover when the access pattern
  scans a key space larger than an arbitrary size (e.g. the LRU
  capacity).

The downside of using an expiring cache here is that it doesn't have a
maximum size so it's suspectible to DoS when the input is user
controlled. This is not the case for successful authentications, and
successful authentications have a natural expiry so it might be a good
fit here.

It has some a few differences compared to:

3d7318f29d/staging/src/k8s.io/client-go/tools/cache/expiration_cache.go

- Expiration is not entirely lazy so keys that are never accessed again
  are still released from the cache.
- It does not acquire an exclusive lock on cache hits.
- It supports per entry ttls specified on Set.

The expiring cache (without striping) does somewhere in between the
simple cache and striped cache in the very contrived contention test
where every iteration acquires a write lock:

```
$ benchstat simple.log expiring.log
name      old time/op    new time/op    delta
Cache-12    2.74µs ± 2%    2.02µs ± 3%  -26.37%  (p=0.000 n=9+9)
name      old alloc/op   new alloc/op   delta
Cache-12      182B ± 0%      107B ± 4%  -41.21%  (p=0.000 n=8+9)
name      old allocs/op  new allocs/op  delta
Cache-12      5.00 ± 0%      2.00 ± 0%  -60.00%  (p=0.000 n=10+10)

$ benchstat striped.log expiring.log
name      old time/op    new time/op    delta
Cache-12    1.58µs ± 5%    2.02µs ± 3%  +27.34%  (p=0.000 n=10+9)
name      old alloc/op   new alloc/op   delta
Cache-12      288B ± 0%      107B ± 4%  -62.85%  (p=0.000 n=10+9)
name      old allocs/op  new allocs/op  delta
Cache-12      9.00 ± 0%      2.00 ± 0%  -77.78%  (p=0.000 n=10+10)

$ benchstat simple.log striped.log expiring.log
name \ time/op    simple.log   striped.log  expiring.log
Cache-12          2.74µs ± 2%  1.58µs ± 5%   2.02µs ± 3%
name \ alloc/op   simple.log   striped.log  expiring.log
Cache-12            182B ± 0%    288B ± 0%     107B ± 4%
name \ allocs/op  simple.log   striped.log  expiring.log
Cache-12            5.00 ± 0%    9.00 ± 0%     2.00 ± 0%
```

I also naively replacemed the LRU cache with the expiring cache in the
more realisitc CachedTokenAuthenticator benchmarks:

https://gist.github.com/mikedanese/41192b6eb62106c0758a4f4885bdad53

For token counts that fit in the LRU, expiring cache does better because
it does not require acquiring an exclusive lock for cache hits.

For token counts that exceed the size of the LRU, the LRU has a massive
performance drop off. The LRU cache is around 5x slower (with lookups
taking 1 milisecond and throttled to max 40 lookups in flight).

```
$ benchstat before.log after.log
name                                                  old time/op    new time/op    delta
CachedTokenAuthenticator/tokens=100_threads=256-12      3.60µs ±22%    1.08µs ± 4%  -69.91%  (p=0.000 n=10+10)
CachedTokenAuthenticator/tokens=500_threads=256-12      3.94µs ±19%    1.20µs ± 3%  -69.57%  (p=0.000 n=10+10)
CachedTokenAuthenticator/tokens=2500_threads=256-12     3.07µs ± 6%    1.17µs ± 1%  -61.87%  (p=0.000 n=9+10)
CachedTokenAuthenticator/tokens=12500_threads=256-12    3.16µs ±17%    1.38µs ± 1%  -56.23%  (p=0.000 n=10+10)
CachedTokenAuthenticator/tokens=62500_threads=256-12    15.0µs ± 1%     2.9µs ± 3%  -80.71%  (p=0.000 n=10+10)

name                                                  old alloc/op   new alloc/op   delta
CachedTokenAuthenticator/tokens=100_threads=256-12        337B ± 1%      300B ± 0%  -11.06%  (p=0.000 n=10+8)
CachedTokenAuthenticator/tokens=500_threads=256-12        307B ± 1%      304B ± 0%   -0.96%  (p=0.000 n=9+10)
CachedTokenAuthenticator/tokens=2500_threads=256-12       337B ± 1%      304B ± 0%   -9.79%  (p=0.000 n=10+10)
CachedTokenAuthenticator/tokens=12500_threads=256-12      343B ± 1%      276B ± 0%  -19.58%  (p=0.000 n=10+10)
CachedTokenAuthenticator/tokens=62500_threads=256-12      493B ± 0%      334B ± 0%  -32.12%  (p=0.000 n=10+10)

name                                                  old allocs/op  new allocs/op  delta
CachedTokenAuthenticator/tokens=100_threads=256-12        13.0 ± 0%      11.0 ± 0%  -15.38%  (p=0.000 n=10+10)
CachedTokenAuthenticator/tokens=500_threads=256-12        12.0 ± 0%      11.0 ± 0%   -8.33%  (p=0.000 n=10+10)
CachedTokenAuthenticator/tokens=2500_threads=256-12       13.0 ± 0%      11.0 ± 0%  -15.38%  (p=0.000 n=10+10)
CachedTokenAuthenticator/tokens=12500_threads=256-12      13.0 ± 0%      10.0 ± 0%  -23.08%  (p=0.000 n=9+10)
CachedTokenAuthenticator/tokens=62500_threads=256-12      17.0 ± 0%      12.0 ± 0%  -29.41%  (p=0.000 n=10+10)
```

Benchmarked with changes in #84423

Bugs: #83259 #83375

Kubernetes-commit: 9167711fd18511ffc9c90ee306c462be9fc7999b
2019-10-26 12:19:07 -07:00
Kubernetes Publisher b031036a44 Merge pull request #84971 from robscott/endpointslice-iptypes
Splitting IP address type into IPv4 and IPv6 for EndpointSlices

Kubernetes-commit: c5609071d805036b251f22ce122bbf13ca94bff7
2019-11-14 11:33:26 +00:00
Kubernetes Publisher 9aa870a398 Merge pull request #84194 from jackkleeman/describe-netpol
Fix incorrect message on describe netpol

Kubernetes-commit: b9030ff666772b76c6bb96c147a52341a9be94b9
2019-11-14 11:33:24 +00:00
Kubernetes Publisher 62986ac78f Merge pull request #85135 from wojtek-t/delete_unnecessary_conversions_1
Eliminate couple unnecessary conversions

Kubernetes-commit: 402e551ca27499a9dc211dd6e4eca21d9aa9d089
2019-11-14 11:33:22 +00:00
Kubernetes Publisher afc56dffd2 Merge pull request #84692 from smarterclayton/protocol_errors
Fix watch negotiation when using a non-default mime type in the client

Kubernetes-commit: c28921f248a8e6c923096154c6e87efcc188b9f0
2019-11-11 06:53:37 +00:00
Kubernetes Publisher 7b7a54e29b Merge pull request #83840 from liggitt/json-iter
bump json-iterator dependency

Kubernetes-commit: 3387d6cfc73235fd554e5039b85abb7700eaf126
2019-11-09 12:02:35 +00:00
Kubernetes Publisher b6bc5b7411 Merge pull request #84612 from soltysh/set_typesetter
Set TypeSetter in get print flags, like we do everywhere else

Kubernetes-commit: 48ee1504445801c38b7679ecf419a0ba3472bfc6
2019-11-09 12:02:32 +00:00
Kubernetes Publisher feacf2b3d4 Merge pull request #84911 from yue9944882/chore/bump-kube-openapi
Pin kube-openapi vendor to 30be4d16710a

Kubernetes-commit: dd6faa5da791c06fa23ff668e4463c3ad2b23340
2019-11-08 07:35:26 +00:00
yue9944882 9b51bd7d1e update k8s.io/kube-openapi to 30be4d16710a
Kubernetes-commit: 8e7606f32898b294fc25152ff8bd34f62d6221d3
2019-11-07 18:39:08 +08:00
Kubernetes Publisher 116445b61d Merge pull request #82809 from liggitt/go-1.13-no-modules
update to use go1.13.4

Kubernetes-commit: 695c3061dd92a6b6950f8adf0341ceb4a8dd44d7
2019-11-07 03:52:53 +00:00
Jordan Liggitt 543688855f hack/update-vendor.sh
Kubernetes-commit: 297570e06a88db23e16dbdbf6ce3173fe0ae376c
2019-11-05 14:11:10 -05:00
Kubernetes Publisher 32d0c3beba Merge pull request #84807 from clarklee92/ModifyTheStatusCode
Modify the status code number to HTTP status semantics

Kubernetes-commit: 43b102a83cc1d2b97a6a59f1c14967a840df2c35
2019-11-06 23:33:15 +00:00
Kubernetes Publisher 385e2fd91f Merge pull request #84677 from mikedanese/cfssl
remove cfssl dependencies

Kubernetes-commit: aaa57078969bbb72e9ebe45198edb0899bb1f7df
2019-11-05 03:47:58 +00:00
Kubernetes Publisher e953b35e53 Merge pull request #84604 from codenrhoden/update-utils-dep
Update k8s.io/utils dependency to latest

Kubernetes-commit: 97e28edb6620568d985f3b03b495a0a373aa8750
2019-11-01 23:32:51 +00:00
Travis Rhoden 4ccf9a3366 Update k8s.io/utils dependency to latest
Kubernetes-commit: 81f66ecbb5ff359ac765c7f332289dd8c1737c39
2019-10-31 08:35:01 -06:00
Kubernetes Publisher 2ba9448df4 Merge pull request #84540 from seans3/kubectl-get-staging
Moves kubectl get subcommand to staging

Kubernetes-commit: ecec5cb2a4328cef124670ef909971fcbf98ea8e
2019-10-31 07:26:35 +00:00
Sean Sullivan b5647b2406 update-vendor.sh; updates modules files
Kubernetes-commit: bb30a469b67fa62aa72665d45643e9472971da75
2019-10-29 16:12:58 -07:00
Pablo Mercado 6b77b0790a Kubectl certificate signing: fix certificate deny message (#84400)
* add certificate deny flag message

* bring back NewCertificateOptions with operation parameter

Kubernetes-commit: e528c2f2925d61fa7a12313a895af5a312d36dd6
2019-10-27 03:24:33 +00:00
Kubernetes Publisher 4634ffdafd Merge pull request #82794 from ingvagabund/fake-clientset-enforce-exact-much-for-get
Require exact match when calling Get method within fake clientset

Kubernetes-commit: cbf1e2d360698795e80bd4b80287149290f5919a
2019-10-25 23:30:26 +00:00
Kubernetes Publisher bba33b64db Merge pull request #83987 from wenjiaswe/etcd_client_3_4_2
Update etcd client to v3.4.3 in k8s v1.17

Kubernetes-commit: 09f453ff8322979ed5a7611bc2e5528506c1fc7f
2019-10-25 23:30:23 +00:00
Kubernetes Publisher 864696d947 Merge pull request #84062 from seans3/tableprinter-move
Removes kubectl get dependency on Kubernetes core

Kubernetes-commit: df8587f99f9b356e4c26271b9aa8ba494ae6ed7e
2019-10-25 03:24:28 +00:00
Kubernetes Publisher 1bfbeaf206 Merge pull request #83795 from ivan4th/fix-drain-crash
Fix crash in kubectl drain

Kubernetes-commit: 4d5a687eddcdd03934594fb88a3063e26abc242c
2019-10-24 03:24:12 +00:00
Wenjia Zhang a9647ff698 Pin dependencies and update vendors
Kubernetes-commit: 660b17d0aeda96af94defd4c5110d9fef523d52b
2019-10-23 13:37:36 -07:00
Kubernetes Publisher 3c80c5ae89 Merge pull request #83967 from mgugino-upstream-stage/kubectl-drain-timeout
kubectl drain: avoid leaking goroutines

Kubernetes-commit: 9a7201c6b1eea4c6217d95ff6c4bf35bfc88c584
2019-10-23 07:27:58 +00:00
Kubernetes Publisher a4e4b8e16b Merge pull request #81971 from laddng/api-resources-sort-by-flag
Added a new `--sort-by` flag to kubectl api-resources command

Kubernetes-commit: 3ebee370c5d65661bc59fa3c10be4919b5f94bf1
2019-10-19 15:19:03 +00:00
Kubernetes Publisher 5d0b8f2404 Merge pull request #83899 from wojtek-t/describe_lease_in_node
Add information from Lease to kubectl describe node

Kubernetes-commit: 4fa7d423014b98274f5c9e89eb7d0a1c8186e4af
2019-10-16 23:47:02 +00:00
Kubernetes Publisher 0dbeb9b863 Merge pull request #83785 from yastij/bump-utils-rangesize
bump k8s.io/utils to pickup bug fix for rangesize func

Kubernetes-commit: 677903edc6cfe1fb045a55b0734ee05ce8c3d03c
2019-10-14 08:19:15 +00:00
Jordan Liggitt 2eb6952dda bump github.com/json-iterator/go v1.1.8
Kubernetes-commit: e323279ab94e2434fa610a476ad6d7630228be0e
2019-10-12 10:10:03 -04:00
Yassine TIJANI 544571491a bump k8s.io/utils to pickup bug fix for rangesize
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>

Kubernetes-commit: 5d49cbd3cae68d7aafdeac7f2ca08208118f09ad
2019-10-11 16:45:21 +02:00
Kubernetes Publisher 4a7ec16ef4 Merge pull request #83638 from wking/informatio-typo
pkg/apis/policy: Fix "informatio" -> "information" comment typo

Kubernetes-commit: 057609cf932f56f05f548b958c683dca0fb15f21
2019-10-09 08:19:31 +00:00
Kubernetes Publisher 0c7708bf1a Merge pull request #82423 from sallyom/kubectl-flagerror
kubectl: remove usage info from bad flag msg, only print help tip

Kubernetes-commit: ea4f7853bb24a6c3fe7aeeee1aa89f8273c8db64
2019-10-09 00:20:08 +00:00
Kubernetes Publisher 340a90f4c3 Merge pull request #83495 from tanjunchen/fix-typo
remove the repeat word in documents

Kubernetes-commit: 48b90db9c32615d71d607080a59414b437fafc0b
2019-10-07 00:20:32 +00:00
Kubernetes Publisher 987b623dc1 Merge pull request #82176 from pohly/ginkgo-stack-fix
Ginkgo update + stack fix

Kubernetes-commit: b140b431073ae4d84ce9ef5e01a1f27058178ead
2019-10-05 12:24:40 +00:00
Kubernetes Publisher ff3023b90a Merge pull request #83247 from dfang/master
Fix help text in kubectl top -h

Kubernetes-commit: 82875580722ddc67db19cb1f5a364fc698eabc2b
2019-10-05 08:19:47 +00:00
Kubernetes Publisher 43e9419da3 Merge pull request #79844 from oke-py/remove-extra-hyphen
removed extra hyphen in kubectl book

Kubernetes-commit: 14344b57e56258e87cbe80c8cd80399855eca424
2019-10-03 20:19:33 +00:00
Kubernetes Publisher cc39a16963 Merge pull request #83261 from liggitt/yaml-limits
limit yaml/json decode size

Kubernetes-commit: 4afcba42bed2bb7c36e5209a90d87343f32a0efa
2019-10-03 04:27:43 +00:00
Jordan Liggitt 8ef9b4517b bump gopkg.in/yaml.v2 v2.2.4
Kubernetes-commit: 8aeffa8716dcf986544df74444264ef639d61a7a
2019-10-02 14:46:08 -04:00
Patrick Ohly 7fd0caf349 vendor: update gomega to v1.7.0
Updated to keep both Ginkgo and Gomega at the latest releases.

Kubernetes-commit: 27b9a9c2381fab195f2db1bc709e46d0b83fc729
2019-10-01 20:25:05 +02:00
Kubernetes Publisher 2b775f2873 Merge pull request #83113 from yastij/bump-utils
bump k8s.io/utils to pickup ipallocator changes

Kubernetes-commit: 28bcf55accc52dfd4fde5f603a5784c40c485528
2019-09-26 00:23:29 +00:00
Kubernetes Publisher 513b201218 Merge pull request #83075 from yutedz/pod-ready-time
Remove unnecessary traversal of pod.Status.Conditions

Kubernetes-commit: ea9a55909337456da3b17de0d268c704307be962
2019-09-26 00:23:27 +00:00