Commit Graph

86047 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
693db6e347
Merge pull request #85169 from boylee1111/enable_snapshot_e2e_test_for_pd
Enable snapshot e2e test for csi pd driver
2019-11-14 17:50:42 -08:00
Kubernetes Prow Robot
c213196f0a
Merge pull request #85014 from dekkagaijin/master
let standalone npd use kubelet credentials
2019-11-14 17:50:30 -08:00
Kubernetes Prow Robot
e24f5ab4e4
Merge pull request #84747 from mkimuram/refactor-mapper
Refactor mapper/unmapper of block volume
2019-11-14 17:50:15 -08:00
Kubernetes Prow Robot
19b4017b5d
Merge pull request #84424 from mikedanese/expcache
Add an expiring cache for the caching token authenticator
2019-11-14 17:50:06 -08:00
Kubernetes Prow Robot
e434d2dbab
Merge pull request #84295 from aojea/iptableslogs
Improve iptables logging
2019-11-14 17:49:51 -08:00
Kubernetes Prow Robot
31200d08d6
Merge pull request #83505 from misterikkit/govmomi-dep
Update dependency vmware/govmomi to v0.20.3
2019-11-14 17:49:37 -08:00
tanjunchen
7420faab43 fix-staticcheck in /test/e2e/windows 2019-11-15 09:45:43 +08:00
Deep Debroy
129f15328b Disable in-tree plugins migrated to CSI
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2019-11-14 17:28:21 -08:00
Mike Spreitzer
b123a43e71 Brushed up fairqueuing package
This commit responds to the comments on PR #85192 that were not yet
addressed at the time it merged, apart from the one fixed in PR

Generalized fairqueuing to allow for zero queues, to support a
priority level that limits concurrency but does no queuing.
2019-11-14 20:25:31 -05:00
Kubernetes Prow Robot
12b18f200a
Merge pull request #85301 from robscott/endpointslice-beta-fix
Ensuring EndpointSlice controller does not start when feature gate or API are disabled
2019-11-14 16:39:17 -08:00
Kubernetes Prow Robot
141329fd21
Merge pull request #85285 from liggitt/kubectl-resource-version
Fix --resource-version handling in kubectl
2019-11-14 16:39:03 -08:00
Kubernetes Prow Robot
8dffc8db4f
Merge pull request #85257 from yutedz/queueset-robin-idx
Correct the checking of robinIndex
2019-11-14 16:38:50 -08:00
Kubernetes Prow Robot
9edcaf7c4d
Merge pull request #85252 from prameshj/fwrules-port
Specify a port range to ILB firewall rule create.
2019-11-14 16:38:37 -08:00
Kubernetes Prow Robot
30e6238795
Merge pull request #85147 from yutedz/devmgr-rm-contents
Continue removing file in ManagerImpl#removeContents
2019-11-14 16:38:28 -08:00
Kubernetes Prow Robot
99e18f5ae9
Merge pull request #84900 from MikeSpreitzer/add-namespace-to-rule
Enable Priority and Fairness to discriminate on target namespace
2019-11-14 16:38:18 -08:00
Kubernetes Prow Robot
f1e912c38a
Merge pull request #84304 from liggitt/all-beta
Add support for --runtime-config=api/beta=false, --feature-gates=AllBeta=false
2019-11-14 16:38:01 -08:00
Kubernetes Prow Robot
b9fa6e01b9
Merge pull request #83680 from bclau/tests/network-large-requests
tests: Adds large requests tests
2019-11-14 16:37:43 -08:00
Kubernetes Prow Robot
6c5fb3ee60
Merge pull request #83491 from dcbw/winship-iptables-owner
pkg/util/iptables: add Dan Winship to approvers
2019-11-14 16:37:26 -08:00
Kubernetes Prow Robot
0386d769cc
Merge pull request #83058 from bclau/tests/windows-tests-support
tests: Fixes tests for Windows (containerd, RunAsUserName)
2019-11-14 16:37:13 -08:00
Kenichi Omichi
34b05d36aa Move suites.go to e2e package
suites.go is used from e2e.go only and suites.go has invalid dependency
to subpackage of e2e framework as e2e core framework.
So this moves suites.go from e2e core framework.
2019-11-14 23:50:48 +00:00
Kenichi Omichi
e27188d70b Remove e2e/framework/profile_gatherer.go
Since 59533f0cd1 which removes the
deprecated scalability tests, functions in profile_gatherer.go have
not been used at all.
So this removes e2e/framework/profile_gatherer.go
2019-11-14 23:41:38 +00:00
Masaki Kimura
a275026ad4 Split CustomBlockVolumeMapper and CustomBlockVolumeUnmapper
- Move SetUpDevice to BlockVolumeStager
  - Move MapPodDevice to BlockVolumePublisher
  - Move TearDownDevice to BlockVolumeUnstager
  - Move UnmapPodDevice to BlockVolumeUnpublisher
  - Implement BlockVolumePublisher only in local and csi plugin
  - Implement BlockVolumeUnstager only in fc, iscsi, rbd, and csi plugin
  - Implement BlockVolumeStager and BlockVolumeUnpublisher only in csi plugin
2019-11-14 22:01:19 +00:00
Masaki Kimura
f363a03f0b Refactor BlockVolumeMapper and BlockVolumeUnmapper interface
- Rename MapDevice to MapPodDevice in BlockVolumeMapper
- Add UnmapPodDevice in BlockVolumeUnmapper (This will be used by csi driver later)
- Add CustomBlockVolumeMapper and CustomBlockVolumeUnmapper interface
- Move SetUpDevice and MapPodDevice to CustomBlockVolumeMapper
- Move TearDownDevice and UnmapPodDevice to CustomBlockVolumeUnmapper
- Implement CustomBlockVolumeMapper only in local and csi plugin
- Implement CustomBlockVolumeUnmapper only in fc, iscsi, rbd, and csi plugin
- Change MapPodDevice to return path and SetUpDevice not to return path
2019-11-14 22:01:11 +00:00
immutablet
883e9a0b50 Move test inputs for EncryptionConfiguration tests into testdata. 2019-11-14 13:59:25 -08:00
Mike Danese
3f194d5b41 migrate token cache to cache.Expiring 2019-11-14 13:50:15 -08:00
Mike Danese
9167711fd1 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
2019-11-14 13:50:15 -08:00
Kubernetes Prow Robot
27067540ff
Merge pull request #85246 from robscott/endpointslice-dualstack-proxy
Updating kube-proxy to support new EndpointSlice address types
2019-11-14 13:31:58 -08:00
Kubernetes Prow Robot
97225e2742
Merge pull request #85230 from oomichi/add-todo-issue81245
Add TODOs for removing invalid e2e dependencies
2019-11-14 13:31:41 -08:00
Kubernetes Prow Robot
24334444b4
Merge pull request #85175 from liggitt/golang-org-comments
Add comments to explain golang.org replace directives
2019-11-14 13:31:27 -08:00
Kubernetes Prow Robot
bfb99d809a
Merge pull request #85117 from hwdef/fix-staticcheck10
pkg/kubeapiserver: fix staticcheck warning
2019-11-14 13:31:15 -08:00
Kubernetes Prow Robot
acfc88d66e
Merge pull request #84752 from seans3/json_yaml_printers
Move json,yaml,jsonpath printers to correct locations
2019-11-14 13:31:04 -08:00
Kubernetes Prow Robot
5c772f5933
Merge pull request #84674 from hwdef/fix-staticcheck4
pkg/client: fix staticcheck warning
2019-11-14 13:30:45 -08:00
Kubernetes Prow Robot
e03d6e2311
Merge pull request #84660 from mkimuram/refactor-block-lock
Refactor block volume's descriptor lock logic
2019-11-14 13:30:30 -08:00
Jordan Liggitt
114e71b9de Avoid constructing table printer on every componentstatus request 2019-11-14 16:30:12 -05:00
Kubernetes Prow Robot
55cef8048c
Merge pull request #84439 from danielqsj/f-apparmor
refactor apparmor utils in e2e
2019-11-14 13:30:08 -08:00
Kubernetes Prow Robot
37c7c904e1
Merge pull request #84227 from soltysh/fix_scale_doc
Drop job from scale description
2019-11-14 13:29:51 -08:00
Kubernetes Prow Robot
7f7f99b7b5
Merge pull request #83964 from Jefftree/bdd-conformance
Initial Implementation for kubetestgen for Conformance.
2019-11-14 13:29:37 -08:00
Jordan Liggitt
a5760dee81 Add support for --runtime-config=api/beta=false, --feature-gates=AllBeta=false
Allow disabling all beta features and APIs
2019-11-14 14:37:55 -05:00
Kubernetes Prow Robot
9b75e36436
Merge pull request #85294 from ahg-g/ahg-15k
Rename PluginConfigArgs to AlgorithmConfigArgs
2019-11-14 11:20:11 -08:00
Kubernetes Prow Robot
547fdcc164
Merge pull request #85174 from zhouya0/add_table_convertor_componentstatus
add table convertor to componentstatus
2019-11-14 11:20:01 -08:00
Kubernetes Prow Robot
567b13487f
Merge pull request #85162 from apelisse/strip-nullable
Strip nullable for Server-side apply
2019-11-14 11:19:48 -08:00
Kubernetes Prow Robot
ba9f7419f9
Merge pull request #84732 from khenidak/fix-disable-dualstack
Fix a CM panic when ipam tries to lock an out of range pre existing cidr
2019-11-14 11:19:35 -08:00
Boyil (Elliot) Li
9b9562837f update pd csi driver controller manifests 2019-11-14 11:11:30 -08:00
Rob Scott
77df6bc9a8
Ensuring EndpointSlice controller does not start when feature gate or
API are disabled
2019-11-14 10:52:09 -08:00
Jordan Liggitt
7eb4838a61 Use CSINodes v1 API in scheduler 2019-11-14 13:40:50 -05:00
Boyil (Elliot) Li
f7bba28dab Enable snapshottable e2e test for csi pd driver
- add pd driver manifests
- modify snapshottable test case
2019-11-14 10:27:39 -08:00
Kenichi Omichi
aef8355358 Move RegisterNodeFlags() to e2e_node test
RegisterNodeFlags() is called in e2e_node test package only, so this
moves the function for making e2e core framework small and simple.
2019-11-14 18:11:21 +00:00
Kubernetes Prow Robot
78d2e52dee
Merge pull request #84859 from denkensk/move-volumebind-behind-permit
Move pod bindVolumes behind RunPermitPlugins
2019-11-14 10:05:48 -08:00
Kubernetes Prow Robot
979688b5cd
Merge pull request #84335 from mrkm4ntr/fix-node-evaluation
Add unit test to catch scheduler's node order evaluation regressions
2019-11-14 10:05:35 -08:00
Jordan Liggitt
0ac8345d3a Fix --resource-version handling in kubectl 2019-11-14 12:33:14 -05:00