Commit Graph

9797 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
015e2fa20c Merge pull request #115953 from pohly/lint-gomega
test: fixing + linting gomega usage
2023-02-27 00:56:20 -08:00
Patrick Ohly
181fc50f8e e2e framework: deprecate gomega wrappers
All wrappers except for ExpectNoError are identical to their gomega
counterparts. The only advantage that they have is that their invocations are
shorter.

That advantage does not outweigh their disadvantages:
- cannot be used in combination with gomega.Eventually/Consistently
- not a full replacement for gomega, so we just end up using both
- don't support passing a stack offset and thus cannot be used in helper
  functions
- ginkgolinter does not work for them, so sub-optimal calls like this one
  are not reported:

     framework.ExpectEqual(len(items), 0)
     ->
     gomega.Expect(items).To(gomega.BeEmpty())
- developers try to make do with what's available in the framework, leading
  to sub-optimal checks like this:

    framework.ExpectEqual(true, strings.Contains(event.Message, expectedEventError), "Event error should indicate non-root policy caused container to not start")
    ->
    gomega.Expect(event.Message).To(gomega.ContainSubstring(expectedEventError), "Event error should indicate non-root policy caused container to not start")

So let's remove these wrappers. As a first step they get marked as deprecated.
This enables stricter
linting (https://github.com/kubernetes/kubernetes/pull/109728), once enabled,
to report new code which uses them.
2023-02-23 09:51:42 +01:00
andrew_li
78c0018ca0 fix make verify (#115871) 2023-02-22 07:17:56 -08:00
Patrick Ohly
443b1c6c23 hack/tools: bump golangci-lint to v1.51.2 2023-02-22 07:54:20 +01:00
Kubernetes Prow Robot
e29d3229cc Merge pull request #115272 from thockin/codegen-mocks-neg-glob
Fix update-mocks to use better globs
2023-02-20 09:39:49 -08:00
Davanum Srinivas
4ecb4670cc Remove unnecessary ETCD_UNSUPPORTED_ARCH for arm64
we should only use this env var for `arm`, since `arm64` is fully
supported by etcd folks, let us drop this!

(ex - https://github.com/etcd-io/etcd/releases/tag/v3.5.6)

ppc64le comment should be dropped as well

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-02-16 21:29:13 -05:00
cpanato
65230338ad [go] Bump images, dependencies and versions to go 1.20.1
Signed-off-by: cpanato <ctadeu@gmail.com>
2023-02-16 13:38:32 +01:00
Sascha Grunert
a28385ebe2 Graduate KubeletTracing feature to beta
We now graduate `KubeletTracing` to beta, which means we enable the
feature gate per default.

Part of https://github.com/kubernetes/enhancements/issues/2831

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2023-02-14 10:05:35 +01:00
Lucas Severo Alves
6b34fafdaf Add ctx logging involved in KS startup (#115588)
* ctx logging involved in startup

as per https://github.com/kubernetes/kubernetes/pull/111155#pullrequestreview-1283257121

* use klog.Background().Error in flag handling

* revert scheduler_perf changes

* refence issue in code comment

* enable ctx logcheck for cmd/kube-scheduler
2023-02-13 09:19:29 -08:00
Patrick Ohly
67d7f09eb8 hack/OWNERS: add pohly as reviewer and approver
Several files that I maintain (primarily logcheck.conf right now, but
I'm also working on golangci-lint) are in this directory. It would be
useful to have approval rights to avoid delays.
2023-02-13 16:56:14 +01:00
Kubernetes Prow Robot
e818649c10 Merge pull request #115690 from tzneal/fix-buildx-check
fix docker buildx check
2023-02-12 14:27:30 -08:00
Kubernetes Prow Robot
4303743736 Merge pull request #115692 from liggitt/go1.20
Disable unified build and static init optimization for tests
2023-02-10 18:11:30 -08:00
Kubernetes Prow Robot
0424a530a4 Merge pull request #115678 from pohly/e2e-full-reports
e2e: revise complete report creation
2023-02-10 15:07:29 -08:00
Jordan Liggitt
e20d77bb79 Disable unified build and static init optimization for tests 2023-02-10 17:57:56 -05:00
Todd Neal
0c99212e78 fix docker buildx check
In testing, docker reports an exit code of zero if --help
is passed, regardless of the subcommand
2023-02-10 14:26:15 -06:00
Patrick Ohly
3e2b26ce52 e2e: revise complete report creation
The previous approach was based on the observation that some Prow jobs use the
--report-dir parameter instead of the E2E_REPORT_DIR env variable. Parsing the
command line was necessary to use the --json-report and --junit-report
parameters.

But that is complex and can be avoided by triggering the creation of complete
reports in the E2E test suite. The paths are hard-coded and relative to the
report directory to keep the code simple.

There was a report that k8s-triage started processing more data after
6db4b741dd was merged. It's unclear whether
that was because of the new <report-dir>/ginkgo_report.xml file. To avoid
this potential problem, the reports are now in a "ginkgo" sub-directory.

While at it, error checking gets enhanced:
- Create directories at the start of
  the suite and bail out early if that fails.
- *All* e2e suites using the framework do this, not just test/e2e.
- Added missing error checking of truncated JUnit report writing.
2023-02-10 10:20:20 +01:00
Anish Ramasekar
b6b00e65bc logcheck.conf: ensure that kms and value/encrypt uses structured logging
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2023-02-10 02:28:39 +00:00
Madhav Jivrajani
64cf942ce8 hack/tools: Bump golangci-lint version
Bump golangci-lint version. This version
adds support for go1.20.

This consequently also bumps the version of
staticcheck. Note that this was changed to
use master to be compatible with 1.20. This
commit reverts back to using a tagged release.

Signed-off-by: Madhav Jivrajani <madhav.jiv@gmail.com>
2023-02-06 12:27:16 +05:30
cpanato
b9ddf07a75 [go] Bump images, dependencies and versions to go 1.20
Signed-off-by: cpanato <ctadeu@gmail.com>
2023-02-03 22:55:24 +01:00
Jordan Liggitt
1e4a032a34 Add golang.org/x/lint to unwanted dependencies 2023-02-02 17:12:23 -05:00
Jordan Liggitt
fa66ec647d Invoke gimme from kube::golang::verify_go_version
Defaults to ensuring .go-version is used
Override the go version by setting GO_VERSION=1.x
Force using the host go version with FORCE_HOST_GO=y
2023-02-01 17:03:30 -05:00
Jordan Liggitt
f6bb29c2d2 Add gimme 2023-02-01 16:34:23 -05:00
Jordan Liggitt
7cc6b724ab Defer builds to test-cmd and test-integration targets 2023-02-01 15:35:14 -05: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
Mohamed Zaian
90570b7595 etcd: Update to version 3.5.7 2023-01-27 17:24:00 +01:00
Kubernetes Prow Robot
336934ab0a Merge pull request #115243 from liggitt/host-protoc
Use host protoc if it is the correct version
2023-01-26 18:52:24 -08:00
Jordan Liggitt
71174aa2da Generate proto uncontainerized if host has required protoc version 2023-01-26 18:00:10 -05:00
Jordan Liggitt
028683efe6 Add missing proto path to kube::protoc::protoc invocation 2023-01-26 18:00:09 -05:00
Jordan Liggitt
d49d988467 Allow init.sh and protoc.sh to be sourced idempotently 2023-01-26 18:00:09 -05:00
Jordan Liggitt
3548e7febe Add helper script to install protoc 2023-01-26 18:00:08 -05:00
Jordan Liggitt
238e0226db Check protoc version strictly 2023-01-26 18:00:06 -05:00
Tim Hockin
c3e0a0a0b3 Fix update-mocks to use better globs
This was fixed in other update scripts, but this one was already merged.
2023-01-23 09:20:12 -08:00
Patrick Ohly
1d79a191c2 hack: update logtools to v0.4.1
Contains some bug fixes, for example allowing some additional
functions when enforcing contextual logging.
2023-01-23 14:24:29 +01:00
Kubernetes Prow Robot
0fcc3dbd55 Merge pull request #115240 from thockin/codegen-9-use-ls-files
Use `git ls-files` in a few places instead of `find`
2023-01-23 00:26:21 -08:00
Tim Hockin
6a49eae422 Make update-netparse-cve use ls-files 2023-01-22 15:21:37 -08:00
Tim Hockin
822745512d Make update-gofmt use ls-files 2023-01-22 15:16:23 -08:00
Kubernetes Prow Robot
91cfe7f0c3 Merge pull request #115246 from thockin/codegen-11-swagger-from-update-codegen
Generate swagger from update-codegen
2023-01-22 11:24:10 -08:00
Kubernetes Prow Robot
bc2fccaa96 Merge pull request #115245 from thockin/codegen-10-protobuf-from-update-codegen
Call update-generated-protobuf from update-codegen
2023-01-22 11:24:03 -08:00
Kubernetes Prow Robot
f09b318dda Merge pull request #115248 from thockin/codegen-12-mocks
Codegen: use ls files and pre-remove gen'ed mocks
2023-01-22 05:52:02 -08:00
Tim Hockin
597d52ac10 Remove openapi files before regen 2023-01-21 17:46:22 -08:00
Tim Hockin
0a8f102497 Codegen: use ls files and pre-remove gen'ed mocks 2023-01-21 17:29:13 -08:00
Tim Hockin
1c466a8190 Generate swagger from update-codegen
Swagger "docs" are actually Go code, which is used by other codegen
tools, so if you really want to regen EVERYTHING, this is part of it and
sequence matters.
2023-01-21 16:51:25 -08:00
Tim Hockin
0ef664c278 Call update-generated-protobuf from update-codegen
Calling update-codegen.sh with no arguments runs all the functions in
definition order.  Client-generation depends on protobuf, so protobuf
codegen needs to be near the beginning.

Also add some debug output for protobuf generation.

Also hide some old, verbose debug output.
2023-01-21 16:32:18 -08:00
Tim Hockin
ac2890df45 Make protobindings gen a bit safer 2023-01-21 15:17:47 -08:00
Tim Hockin
afae402865 Add debug output for protobindings generation 2023-01-21 15:17:46 -08:00
Tim Hockin
c8ce229e64 Codegen: rm protobindings 2023-01-21 15:17:45 -08:00
Tim Hockin
4dae505d53 Call update-proto-bindings from update-codegen
One script to bring them all ...
2023-01-21 15:17:42 -08:00
Tim Hockin
a057f35c90 Move update-generated-runtime into common script
Now update-generated-proto-bindings rules all the api.pb.go generation.

Running this shows no delta on the runtime.pb.go

This exposes an issue in how protoc is called for protos that specify
`go_package` which is fixed here.

Not all of our protos specify that option (even though it is
recommended), which will be fixed subsequently.
2023-01-21 15:17:14 -08:00
Tim Hockin
e0ecccff3f Merge 5 fragile proto-bindings scripts into 1
Each of these scripts is basically identical, and all were too brittle.
Now they should be more resilient and easier to manage.  The script
still needs to be updated if we add new ones, which I do not love.

More cleanup to follow.
2023-01-21 15:17:13 -08:00
Kubernetes Prow Robot
589300dd84 Merge pull request #115198 from thockin/codegen-7-remove-genfiles-part1
Codegen: remove generated files before regenerating
2023-01-21 14:34:02 -08:00