Commit Graph

113478 Commits

Author SHA1 Message Date
Patrick Ohly
b6ede21ff1 e2e framework: turn function into gomega.Matcher
The intention is to use this inside a helper function where the
corresponding Expect call is known.
2023-01-31 07:52:26 +01:00
Patrick Ohly
3ebab68c8a e2e: remove unused label filter from WaitForPodsRunningReady
None of the users of the functions passed anything other than nil or an empty
map and the implementation ignore the parameter - it seems like a candidate for
simplification.
2023-01-31 07:52:26 +01:00
Patrick Ohly
1b5da1035a e2e framework: include additional stack backtrace in failures
When a Gomega failure is converted to an error, the stack at the time when the
failure occurs may be useful: error wrapping provides some bread crumbs that
can be followed to determine where the failure really occurred, but error
wrapping may be missing or ambiguous.

To provide the additional information, a FailureError now includes a full stack
backtrace. The backtrace intentionally makes no attempt to exclude framework
functions besides the gomega support itself because helpers like
e2e/framework/pod may be relevant.

That backtrace is not included in the failure message for the sake of
brevity. Instead, it gets logged as part of the test's output.
2023-01-31 07:52:26 +01:00
Patrick Ohly
e8a50b0583 e2e framework: implement pod polling with gomega.Eventually
gomega.Eventually provides better progress reports: instead of filling up the
log with rather useless one-line messages that are not enough to to understand
the current state, it integrates with Gingko's progress reporting (SIGUSR1,
--poll-progress-after) and then dumps the same complete failure message as
after a timeout. That makes it possible to understand why progress isn't
getting made without having to wait for the timeout.

The other advantage is that the failure message for some unexpected pod state
becomes more readable: instead of encapsulating it as "observed object" inside
an error, it directly gets rendered by gomega.
2023-01-31 07:52:26 +01:00
Patrick Ohly
0872e8d927 e2e framework: gomega assertions as errors
Calling gomega.Expect/Eventually/Consistently deep inside a helper call chain
has several challenges:
- the stack offset must be tracked correctly, otherwise the callstack
  for the failure starts at some helper code, which is often not informative
- augmenting the failure message with additional information from each
  caller implies that each caller must pass down a string and/or format
  string plus arguments

Both challenges can be solved by returning errors:
- the stacktrace is taken at that level where the error is
  treated as a failure instead of passing back an error, i.e.
  inside the It callback
- traditional error wrapping can add additional information, if
  desirable

What was missing was some easy way to generate an error via a gomega
assertion. The new infrastructure achieves that by mirroring the
Gomega/Assertion/AsyncAssertion interfaces with errors as return values instead
of calling a fail handler.

It is intentionally less flexible than the gomega APIs:
- A context must be passed to Eventually/Consistently as first
  parameter because that is needed for proper timeout handling.
- No additional text can be added to the failure through this
  API because error wrapping is meant to be used for this.
- No need to adjust the callstack offset because no backtrace
  is recorded when a failure occurs.

To avoid the useless "unexpected error" log message when passing back a gomega
failure, ExpectNoError gets extended to recognize such errors and then skips
the logging.
2023-01-31 07:52:26 +01:00
Patrick Ohly
b3366ce895 e2e storage: remove WaitForPodTerminatedInNamespace
Calling WaitForPodTerminatedInNamespace after testFlexVolume is useless because
the client pod that it waits for always gets deleted by testVolumeClient:

0fcc3dbd55/test/e2e/framework/volume/fixtures.go (L541-L546)

Worse, because WaitForPodTerminatedInNamespace treats "not found" as "must keep
polling", these two tests always kept waiting for 5 minutes:

    Kubernetes e2e suite: [It] [sig-storage] Flexvolumes should be mountable
    when non-attachable 	6m4s

The only reason why these tests passed is that WaitForPodTerminatedInNamespace
used to return the "not found" API error. That is not guaranteed and about to
change.
2023-01-31 07:52:26 +01:00
Kubernetes Prow Robot
f9a3fd2810
Merge pull request #115346 from gnufied/set-staging-path-expansion
Set node_stage_path whenever available
2023-01-30 21:38:47 -08:00
Kubernetes Prow Robot
e150be6872
Merge pull request #115375 from liggitt/validate-timezone
Validate format of timeZone before calling system LoadLocation method
2023-01-30 19:48:48 -08:00
Kubernetes Prow Robot
981c4d59fb
Merge pull request #115155 from adrianreber/2023-01-18-checkpoint-test-result
Extend checkpoint e2e test to check for results
2023-01-30 18:43:16 -08:00
Kubernetes Prow Robot
423f62d69a
Merge pull request #115138 from danwinship/kep-3453-beta
Move KEP-3453 MinimizeIPTablesRestore to beta
2023-01-30 18:43:08 -08:00
Kubernetes Prow Robot
4df945853e
Merge pull request #115137 from swatisehgal/topologymgr-metrics
node: topologymgr: add metrics about admission requests and errors
2023-01-30 18:43:00 -08:00
Kubernetes Prow Robot
3244ebd532
Merge pull request #113973 from my-git9/invalidurl
fix invalid url
2023-01-30 18:42:48 -08:00
Kubernetes Prow Robot
9fb6306068
Merge pull request #115292 from SergeyKanzhelev/wrongDirName
change the comment in CRI API to point to the correct logs directory
2023-01-30 17:37:00 -08:00
Kubernetes Prow Robot
559014f13e
Merge pull request #115273 from SergeyKanzhelev/restartCountRegexFix
use a proper regex looking for the restartCount
2023-01-30 17:36:49 -08:00
Kubernetes Prow Robot
5d4776adc1
Merge pull request #114948 from haoruan/feature-api-doc-field-linter
Add linter to check if api docs match field tag names
2023-01-30 16:21:09 -08:00
Kante Yin
3d0894fabf
Fix failure(context canceled) in scheduler_perf benchmark (#114843)
* Fix failure in scheduler_perf benchmark

Signed-off-by: Kante Yin <kerthcet@gmail.com>

* Fatal when error in cleaning up nodes in scheduler perf tests

Signed-off-by: Kante Yin <kerthcet@gmail.com>

* Use derived context to better organize the codes

Signed-off-by: Kante Yin <kerthcet@gmail.com>

* Change log level to 2 in scheduler perf-test

Signed-off-by: Kante Yin <kerthcet@gmail.com>

---------

Signed-off-by: Kante Yin <kerthcet@gmail.com>
2023-01-30 16:21:00 -08:00
Kubernetes Prow Robot
2eb2c88b1d
Merge pull request #109869 from mauriciopoppe/ephemeral-generic-patch-sc
Skip Generic Ephemeral Volume tests if VolumeBindingMode is immediate and it's a multi-topology environment
2023-01-30 16:20:48 -08:00
Jordan Liggitt
7e19850f31
Validate format of timeZone 2023-01-30 17:01:45 -05:00
Kubernetes Prow Robot
0cb1eabbf0
Merge pull request #115339 from kevindelgado/patch-opton-params
Separate Put and Patch Options
2023-01-30 13:49:00 -08:00
Kubernetes Prow Robot
d863d04adc
Merge pull request #114580 from pohly/e2e-ginkgo-timeout-fixes
e2e ginkgo timeout fixes, III
2023-01-30 13:48:48 -08:00
Kubernetes Prow Robot
c9e281df23
Merge pull request #115341 from tkashem/delete-collection
apiserver: remove 34s timeout from DELETECOLLECTION rest handler
2023-01-30 12:41:01 -08:00
Kubernetes Prow Robot
6d17cb2051
Merge pull request #115266 from pohly/gomega-update
dependencies: update gomega to v1.26.0
2023-01-30 12:40:49 -08:00
Kevin Delgado
f0394dd6e0 Separate Put and Patch Options 2023-01-30 19:16:10 +00:00
Kubernetes Prow Robot
ad2a9f2f33
Merge pull request #113863 from msau42/owners
update sig-storage owners
2023-01-30 10:10:50 -08:00
Kubernetes Prow Robot
5681b0da14
Merge pull request #115338 from danwinship/nodeutil.gethostname
Move GetHostname() from k/k/pkg/util/node to k/component-helpers/node/util
2023-01-30 09:07:20 -08:00
Kubernetes Prow Robot
4b074c816e
Merge pull request #115298 from knelasevero/StartTestServerCtx
Pass context to StartTestServer to get contextualized logger from it during tests
2023-01-30 09:07:12 -08:00
Kubernetes Prow Robot
d0584179f4
Merge pull request #114367 from liggitt/kubelet-csr-init
Check for initial kubelet certificates more frequently
2023-01-30 09:07:05 -08:00
Kubernetes Prow Robot
d529048a3e
Merge pull request #112809 from tkashem/cors-cve
apiserver: fix cve for CORS
2023-01-30 09:06:52 -08:00
Kubernetes Prow Robot
4198d66457
Merge pull request #108835 from guettli/patch-2
Extend example to contain --as=...
2023-01-30 08:00:50 -08:00
Abu Kashem
709748a34e
apiserver: remove 34s from DELETECOLLECTION rest handler 2023-01-30 10:55:52 -05:00
Kubernetes Prow Robot
c829397f7a
Merge pull request #115354 from pohly/dra-reserved-for-list-type
dynamic resource allocation: avoid apiserver complaint about list content
2023-01-30 06:24:50 -08:00
Kubernetes Prow Robot
7b243cef1a
Merge pull request #115368 from tzneal/correct-comment
update comment to match implementation
2023-01-29 17:21:16 -08:00
Kubernetes Prow Robot
232c0de57a
Merge pull request #115101 from HirazawaUi/delte-pkg-kubelet-unused-functions
delete unused functions in pkg/kubelet directory
2023-01-29 17:21:08 -08:00
Kubernetes Prow Robot
e205779856
Merge pull request #115062 from neersighted/drop_pause_workaround
pause: remove obsolete Windows buildx workaround
2023-01-29 17:21:01 -08:00
Kubernetes Prow Robot
a94a35293b
Merge pull request #114490 from MadhavJivrajani/update-contention-profiling-docs
*: Make docs more accurate for the contention-profiling flag
2023-01-29 17:20:49 -08:00
Kubernetes Prow Robot
97636ed781
Merge pull request #115382 from liggitt/typecheck-stdlib
Avoid typechecking stdlib
2023-01-29 16:15:00 -08:00
Kubernetes Prow Robot
7f0d1722f5
Merge pull request #115378 from aojea/aojea_allocator
add aojea as approver for networking APIs: services/allocators, netwo…
2023-01-29 16:14:49 -08:00
Kubernetes Prow Robot
5bb7326c36
Merge pull request #114418 from xuzhenglun/master
Reserve Nodeport Ranges For Dynamic And Static Port Allocation
2023-01-29 14:02:35 -08:00
Thomas Guettler
2b980b8c01 Extend example to contain --as==... 2023-01-29 19:39:58 +01:00
Jordan Liggitt
a5d7f516d4
Avoid typechecking stdlib 2023-01-28 23:32:50 -05:00
Antonio Ojea
0461c48078 add aojea as approver for networking APIs: services/allocators, networking group, ...
Change-Id: Ia6542b21339f4a92a9c13c2b628038abe737d0f9
2023-01-29 00:10:06 +00:00
Kubernetes Prow Robot
8e642d3d0d
Merge pull request #115310 from mzaian/etcd-3.5.7-build-image
etcd: Update to version 3.5.7
2023-01-28 10:20:42 -08:00
Kubernetes Prow Robot
86455ae12e
Merge pull request #115094 from GCES-Kubernetes-2022-2/e2e-apps
E2e apps
2023-01-28 08:52:34 -08:00
Paulo Gonçalves Lima
d1278a0830 Fix: Improves the log for failing tests in e2e/apps.
Issue #105678
2023-01-28 02:50:32 -03:00
Kubernetes Prow Robot
d7cb1c54a5
Merge pull request #115145 from alexzielenski/apiserver/policy/typed-params
ValidatingAdmissionPolicy: use natively-typed informer for params
2023-01-27 16:24:33 -08:00
Dan Winship
f994ae2521 Move GetHostname() from k/k/pkg/util/node to k/component-helpers/node/util
In fact, this actually uses pkg/util/node's GetHostname() but takes
the unit tests from cmd/kubeadm/app/util's private fork of that
function since they were more extensive. (Of course the fact that
kubeadm had a private fork of this function is a strong argument for
moving it to component-helpers.)
2023-01-27 18:24:38 -05:00
Kubernetes Prow Robot
822ca4892e
Merge pull request #115210 from bertinatto/disconnected-block-device
Trim out suffix added to backing file path of loopback device
2023-01-27 14:50:38 -08:00
Hemant Kumar
32851bb316 Add e2e for node expansion with missing staging path 2023-01-27 16:51:21 -05:00
Todd Neal
69f04a2fc1 update comment to match implementation 2023-01-27 13:59:40 -06:00
Kubernetes Prow Robot
1f02f43ec6
Merge pull request #114997 from Richabanker/metrics-slis-beta
Enable ComponentSLI as beta feature
2023-01-27 10:04:25 -08:00