Commit Graph

108175 Commits

Author SHA1 Message Date
Saikat Roychowdhury
c208a7b753 honor the framework delete timeout for pv 2022-05-03 17:20:10 +00:00
Francesco Romani
017998e889 e2e: node: explicit skip for device plugin tests
The device plugin e2e tests where failing lately and to unblock the
release a skip was added in the prow job configuration:
71cf119c84/config/jobs/kubernetes/sig-node/sig-node-presubmit.yaml (L401)

The problem here is not only the broken test which need to be
fixed, but also the fact that this is the only skip (for a specific
test) we do this way, which is surprising (xref:
https://github.com/kubernetes/kubernetes/issues/106635#issuecomment-1105627265)

As next step towards improvement, we add an explicit skip in the tests
proper. This makes at least more obvious these tests need more work,
and allow us to remove the edge case in the prow configuration.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2022-05-03 18:44:11 +02:00
Kubernetes Release Robot
9d278e6224 CHANGELOG: Update directory for v1.24.0 release 2022-05-03 14:35:43 +00:00
Antonio Ojea
2cb3a56e83 apiserver cacher: don't accept requests if stopped
The cacher blocks requests until it is ready, however, the
ready variable doesn't differentiate if the cacher was stopped.

The cacher is using a condition variable based on sync.Cond to
handle the readiness, however, this was not taking into account
if it was not ready because it was waiting to be ready or it was
stopped.

Add a new condition to the condition variable to handle the
stop condition, and returning an error to signal the goroutines
that they should stop waiting and bail out.
2022-05-03 16:35:19 +02:00
Antonio Ojea
00a60426e7 spdyroundtripper: d tlson't verify hostname twice 2022-05-03 16:17:18 +02:00
Antonio Ojea
6d14c8e13f spdyroundrippter: close the connection if tls handshake fails 2022-05-03 16:14:51 +02:00
Kubernetes Prow Robot
70d470e6aa
Merge pull request #109721 from andyzhangx/needresize-windows
fix: NeedResize build failure on Windows
2022-05-03 05:13:55 -07:00
cici37
62394b8ab8 benchmark unstructuredToVal 2022-05-02 13:54:10 -07:00
Wojciech Tyczyński
04b77f02ee Minor cleanup to use t.Run() in test/integration 2022-05-02 21:13:32 +02:00
Lukasz Szaszkiewicz
8dea7ea27e hardens integration serviceaccount tests
the serviceAccountController controller used by the tests must wait for the caches to sync
since the tests don't check /readyz there is no way
the tests can tell it is safe to call the server and requests won't be rejected
2022-05-02 17:33:50 +02:00
xin.li
7c93cd4207 update k8s url
Signed-off-by: xin.li <xin.li@daocloud.io>
2022-05-02 20:55:55 +08:00
SataQiu
eb1492bb00 kubeadm: replace *clientset.Clientset with clientset.Interface for join phase 2022-05-02 19:25:47 +08:00
AllenZMC
a5fb9bbd35 Optimize test cases for iptables 2022-05-01 19:33:06 +08:00
AllenZMC
0c23f5093f Optimize test cases for ipvs 2022-05-01 19:29:33 +08:00
Wei Huang
9f2b5018c1
sched: remove unused code 2022-04-29 11:37:35 -07:00
Steve Kuznetsov
ed5fd905f2
pkg/storage/etcd3: validate revision invariant
We must ensure that we notice if the etcd behavior on linearized reads
changes.

Signed-off-by: Steve Kuznetsov <skuznets@redhat.com>
2022-04-29 08:55:21 -07:00
Steve Kuznetsov
eba25cdbbc
pkg/storage/etcd3: correctly validate resourceVersions
In a number of tests, the underlying storage backend interaction will
return the revision (logical clock underpinning the MVCC implementation)
at the call-time of the RPC. Previously, the tests validated that this
returned revision was exactly equal to some previously seen revision.
This assertion is only true in systems where no other events are
advancing the logical clock. For instance, when using a single etcd
cluster as a shared fixture for these tests, the assertion is not valid
any longer. By checking that the returned revision is no older than the
previously seen revision, the validation logic is correct in all cases.

Signed-off-by: Steve Kuznetsov <skuznets@redhat.com>
2022-04-29 08:55:19 -07:00
Kubernetes Prow Robot
e7a2ce75e5
Merge pull request #109722 from soltysh/fix_templater
Do not wrap lines if we can't read term size
2022-04-29 06:41:14 -07:00
Maciej Szulik
a1c90674b5
Do not wrap lines if we can't read term size 2022-04-29 14:01:14 +02:00
andyzhangx
ffca636024 fix: NeedResize build failure on Windows 2022-04-29 11:34:43 +00:00
Kevin Klues
57f8b31b42 Update tests to accommodate devicemanager refactoring
Signed-off-by: Kevin Klues <kklues@nvidia.com>
2022-04-29 10:52:37 +00:00
Kevin Klues
f6eaa25b71 Move DevicePluginStub implementation into new plugin package
Signed-off-by: Kevin Klues <kklues@nvidia.com>
2022-04-29 10:52:37 +00:00
Kevin Klues
db88676c20 Refactor all device plugin logic into separate 'plugin' package
This is the first step towards being able to support a new plugin API version
in parallel with the existing one.

Signed-off-by: Kevin Klues <kklues@nvidia.com>
2022-04-29 10:52:37 +00:00
Mike Spreitzer
b4a40cd43e Draft weighted and timing histograms
The following investigation occurred during development.

Add TimingHistogram impl that shares lock with WeightedHistogram

Benchmarking and profiling shows that two layers of locking is
noticeably more expensive than one.

After adding this new alternative, I now get the following benchmark
results.

```
(base) mspreitz@mjs12 kubernetes % go test -benchmem -run=^$ -bench ^BenchmarkTimingHistogram$ k8s.io/component-base/metrics/prometheusextension
goos: darwin
goarch: amd64
pkg: k8s.io/component-base/metrics/prometheusextension
cpu: Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
BenchmarkTimingHistogram-16    	22232037	        52.79 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	k8s.io/component-base/metrics/prometheusextension	1.404s

(base) mspreitz@mjs12 kubernetes % go test -benchmem -run=^$ -bench ^BenchmarkTimingHistogram$ k8s.io/component-base/metrics/prometheusextension
goos: darwin
goarch: amd64
pkg: k8s.io/component-base/metrics/prometheusextension
cpu: Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
BenchmarkTimingHistogram-16    	22190997	        54.50 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	k8s.io/component-base/metrics/prometheusextension	1.435s
```

and

```
(base) mspreitz@mjs12 kubernetes % go test -benchmem -run=^$ -bench ^BenchmarkTimingHistogramDirect$ k8s.io/component-base/metrics/prometheusextension
goos: darwin
goarch: amd64
pkg: k8s.io/component-base/metrics/prometheusextension
cpu: Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
BenchmarkTimingHistogramDirect-16    	28863244	        40.99 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	k8s.io/component-base/metrics/prometheusextension	1.890s
(base) mspreitz@mjs12 kubernetes %
(base) mspreitz@mjs12 kubernetes %
(base) mspreitz@mjs12 kubernetes % go test -benchmem -run=^$ -bench ^BenchmarkTimingHistogramDirect$ k8s.io/component-base/metrics/prometheusextension
goos: darwin
goarch: amd64
pkg: k8s.io/component-base/metrics/prometheusextension
cpu: Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
BenchmarkTimingHistogramDirect-16    	27994173	        40.37 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	k8s.io/component-base/metrics/prometheusextension	1.384s
```

So the new implementation is roughly 20% faster than the original.

Add overlooked exception, rename timingHistogram to timingHistogramLayered

Use the direct (one mutex) style of TimingHistogram impl

This is about a 20% gain in CPU speed on my development machine, in
benchmarks without lock contention.  Following are two consecutive
trials.

(base) mspreitz@mjs12 prometheusextension % go test  -benchmem -run=^$ -bench Histogram .
goos: darwin
goarch: amd64
pkg: k8s.io/component-base/metrics/prometheusextension
cpu: Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
BenchmarkTimingHistogramLayered-16    	21650905	        51.91 ns/op	       0 B/op	       0 allocs/op
BenchmarkTimingHistogramDirect-16     	29876860	        39.33 ns/op	       0 B/op	       0 allocs/op
BenchmarkWeightedHistogram-16         	49227044	        24.13 ns/op	       0 B/op	       0 allocs/op
BenchmarkHistogram-16                 	41063907	        28.82 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	k8s.io/component-base/metrics/prometheusextension	5.432s

(base) mspreitz@mjs12 prometheusextension % go test  -benchmem -run=^$ -bench Histogram .
goos: darwin
goarch: amd64
pkg: k8s.io/component-base/metrics/prometheusextension
cpu: Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
BenchmarkTimingHistogramLayered-16    	22483816	        51.72 ns/op	       0 B/op	       0 allocs/op
BenchmarkTimingHistogramDirect-16     	29697291	        39.39 ns/op	       0 B/op	       0 allocs/op
BenchmarkWeightedHistogram-16         	48919845	        24.03 ns/op	       0 B/op	       0 allocs/op
BenchmarkHistogram-16                 	41153044	        29.26 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	k8s.io/component-base/metrics/prometheusextension	5.044s

Remove layered implementation of TimingHistogram
2022-04-28 17:36:06 -04:00
Grant McCloskey
e9346f6b5d
Update Metrics doc as there is a typo in package
Package header typo is very visible looking at docs. 

https://pkg.go.dev/k8s.io/metrics/pkg/apis/metrics
2022-04-28 07:59:09 -07:00
Abirdcfly
a7cfbb3e6c
fix volumebinding test in scheduler
Signed-off-by: Abirdcfly <fp544037857@gmail.com>
2022-04-28 16:22:02 +08:00
Benjamin Elder
5d8f6f1213 fix e2e coverage package for go 1.18 2022-04-27 10:05:51 -07:00
Wei Huang
846ebf7814
Cleanup legacy scheduler perf tests 2022-04-27 09:57:17 -07:00
Steve Kuznetsov
138faa3799
storage/etcd3: continue unifying test setup
Previous work by liggitt in 01760927b8 improved the boilerplate
required to run an embedded etcd server for tests as well as set up the
`*etcd3.store{}` for testing. A number of tests were not ported to use the
new helpers, though, either due to custom setup or due to inconsistent
use of setup options. A follow-up by stevekuznetsov in 6aa37eb062
removed much of the inconsistency, meaning that most callers to
`newStore()` were simply using the default boilerplate and options that
`testSetup()` used.

This patch moves all users to testSetup(), adding options as necessary
to enable some fringe setup use-cases. With a unified setup, new tests
will not copy boilerplate they do not need and it will be immediately
obvious when reading a test if the client or storage setup is *not*
default, improving readability.

Signed-off-by: Steve Kuznetsov <skuznets@redhat.com>
2022-04-26 12:26:17 -07:00
Kubernetes Release Robot
537941765f CHANGELOG: Update directory for v1.24.0-rc.1 release 2022-04-26 16:45:00 +00:00
何庆国10193842
3d14bcb9a4 Log StructuredLog: spelling formatting
Signed-off-by: 何庆国10193842 <he.qingguo@zte.com.cn>
2022-04-26 17:04:06 +08:00
Kubernetes Prow Robot
a83cc51a19
Merge pull request #109658 from bobbypage/cadvisor-044-1
Bump cAdvisor to v0.44.1
2022-04-25 19:44:52 -07:00
David Porter
b0da29dcb8 Bump cAdvisor to v0.44.1
Bump cAdvisor to v0.44.1 to pick up fix for containerd task timeout
which resulted in empty network metrics.

Signed-off-by: David Porter <david@porter.me>
2022-04-25 17:18:38 -07:00
sanposhiho
b7b94b6b39 scheduler_perf: create sleep operation 2022-04-25 23:02:09 +00:00
Claudiu Belu
dc881cbc77 GCE Windows: Copy the CNI binaries from the right folder
A previous commit updated the containerd version used on Windows
nodes from 1.5.4 to 1.6.2. However, the folder structure of the
containerd releases changed since then from:

cni/$binary.exe

to:

cni/bin/$binary.exe

Because of this, the Windows nodes do not have the necessary CNI
binaries needed to setup the pod networks.
2022-04-25 15:06:30 -07:00
Patrick Ohly
2664740043 e2e: move feature gate support from test/e2e to test/e2e_node
The test/e2e suite has never supported feature gates:
- it cannot discover at runtime how the cluster is configured
- its --feature-gates parameter had no effect

Despite that, tests were written that used
e2eskipper.SkipUnlessFeatureGateEnabled even though that function then only
checked the default feature gate state.  To catch such mistakes, e2e tests
suites now must explicitly enable feature gate checking via
e2eskipper.InitFeatureGates. They also must register their own command line
flag. When that is not done, then using SkipUnlessFeatureGateEnabled or
SkipIfFeatureGateEnabled leads to a test failure.

test/e2e_node does both and therefore continues to work as before.
2022-04-25 15:41:41 +02:00
Patrick Ohly
12990dec40 e2e: remove useless SkipUnlessFeatureGateEnabled
These SkipUnlessFeatureGateEnabled are useless because:
- the tests run in test/e2e where feature gates always
  have their default state
- CSIMigration, SizeMemoryBackedVolumes and ExecProbeTimeout are
  all enabled by default (beta resp. GA)
2022-04-25 15:41:25 +02:00
Sebastian Laskawiec
f0af12bb9d Warn on receiving a space before the token 2022-04-25 15:22:28 +02:00
Abhijit Hoskeri
49dc59873b e2e_node/{service,util}: use kubelet healthz port.
The readonly port could be disabled.

Since we are only using the /healthz endpoint,
we can use the healthz port for this.

Change-Id: Ie0e05a5ab4ec6f51e4d3c63226aa23c1b3a69956
2022-04-22 16:14:31 -07:00
Steve Kuznetsov
809fd64b28
storage/etcd3: clarify the pagingation flow in LIST
It is not possible for the nil-check to ever return anything different
from what the explicit boolean used to, but this is only something that
a reader can come to the conclusion on if they very, very carefuly read
the code. Instead of having this implicit flow that is difficult to
follow, let's keep the boolean.

Signed-off-by: Steve Kuznetsov <skuznets@redhat.com>
2022-04-22 11:57:04 -07:00
Kubernetes Prow Robot
f02682c628
Merge pull request #109592 from claudiubelu/gce-updates-containerd-version
windows GCE: Bumps containerd version to 1.6.2
2022-04-22 10:18:12 -07:00
熊中谅10171568
c4579165f1 refactor: remove deprecated flags
refactor: remove deprecated deleting-pods-qps deleting-pods-burst register-retry-count flags
2022-04-22 20:28:12 +08:00
Jordan Liggitt
87494389ac Remove package variables 2022-04-21 22:09:37 -04:00
Jordan Liggitt
7a261d9fa0 Drop unused golang/template funcs 2022-04-21 21:21:16 -04:00
Jordan Liggitt
55ff7dda0a Drop unused golang/template package 2022-04-21 20:21:10 -04:00
Kubernetes Prow Robot
f0791b5014
Merge pull request #109541 from dims/disable-intree-gce-pd-tests-by-default
Disable Intree GCE PD tests by default
2022-04-21 16:48:12 -07:00
Danielle Lancashire
f1f45df2c1 hack: make test-e2e-node: remove old project refs
This commit cleans up references to the old kubernetes-node-e2e-images
project. In the process it removes the `LIST_IMAGES` mode as listing
large numbers of public cloud projects is not particularly useful, and
has been somewhat broken for a long period of time - as we defaulted
launching a VM to a different project than listing.
2022-04-22 00:59:25 +02:00
Jonathan Dobson
f369b1234a e2e: add storage capability for offline volume expansion 2022-04-21 14:49:18 -06:00
Sanskar Jaiswal
f8df26ae80 Update comment and declaration of storage.GuaranteedUpdate to be clearer.
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2022-04-22 01:01:15 +05:30
Dan Winship
e343ea57a6 Clarify ExternalTrafficPolicy/InternalTrafficPolicy definitions 2022-04-21 11:06:43 -04:00