Commit Graph

10042 Commits

Author SHA1 Message Date
Tim Hockin
f3c8e92def
Clean up test.sh and get rid of GOPATH
Result: `make test` works:

```
$ #### BUILD ####

$ make WHAT="./cmd/kubectl/ ./staging/src/k8s.io/api"
+++ [1211 11:20:46] Building go targets for linux/amd64
    ./cmd/kubectl/ (non-static)
    ./staging/src/k8s.io/api (non-static)

$ #### TEST ####

$ make test WHAT=./pkg/proxy/iptables/
+++ [1211 11:22:31] Set GOMAXPROCS automatically to 6
+++ [1211 11:22:31] Running tests without code coverage and with -race
ok  	k8s.io/kubernetes/pkg/proxy/iptables	9.517s

$ make test WHAT=pkg/proxy/iptables/
+++ [1211 11:22:53] Set GOMAXPROCS automatically to 6
+++ [1211 11:22:53] Running tests without code coverage and with -race
ok  	k8s.io/kubernetes/pkg/proxy/iptables	(cached)

$ make test WHAT=k8s.io/kubernetes/pkg/proxy/iptables/
+++ [1211 11:23:09] Set GOMAXPROCS automatically to 6
+++ [1211 11:23:09] Running tests without code coverage and with -race
ok  	k8s.io/kubernetes/pkg/proxy/iptables	(cached)

$ make test WHAT=./staging/src/k8s.io/api
+++ [1211 11:23:24] Set GOMAXPROCS automatically to 6
+++ [1211 11:23:24] Running tests without code coverage and with -race
ok  	k8s.io/api	21.981s

$ make test WHAT=staging/src/k8s.io/api
+++ [1211 11:23:54] Set GOMAXPROCS automatically to 6
+++ [1211 11:23:54] Running tests without code coverage and with -race
ok  	k8s.io/api	(cached)

$ make test WHAT=k8s.io/api
+++ [1211 11:24:06] Set GOMAXPROCS automatically to 6
+++ [1211 11:24:06] Running tests without code coverage and with -race
ok  	k8s.io/api	(cached)
```
2024-02-29 00:22:13 -08:00
Tim Hockin
8cb8535d9c
Excise KUBE_GOPATH from coverage build 2024-02-29 00:22:12 -08:00
Tim Hockin
0af3106442
Dedup binaries when building 2024-02-29 00:22:11 -08:00
Tim Hockin
9256031a87
Workspaces: excise vendor from golang.sh
```
$ make
go version go1.20.4 linux/amd64
+++ [0506 13:21:33] Building go targets for linux/amd64
    ./cmd/kube-proxy (static)
    ./cmd/kube-apiserver (static)
    ./cmd/kube-controller-manager (static)
    ./cmd/kubelet (non-static)
    ./cmd/kubeadm (static)
    ./cmd/kube-scheduler (static)
    ./staging/src/k8s.io/component-base/logs/kube-log-runner (static)
    ./staging/src/k8s.io/kube-aggregator (static)
    ./staging/src/k8s.io/apiextensions-apiserver (static)
    ./cluster/gce/gci/mounter (non-static)
    ./cmd/kubectl (static)
    ./cmd/kubectl-convert (static)
    github.com/onsi/ginkgo/v2/ginkgo (non-static)
    ./test/e2e/e2e.test (test)
    ./test/conformance/image/go-runner (non-static)
    ./cmd/kubemark (static)
    github.com/onsi/ginkgo/v2/ginkgo (non-static)
    ./test/e2e_node/e2e_node.test (test)
```

before:
real	4m31.100s
user	21m1.466s
sys	2m23.546s

after:
real	3m46.591s
user	16m34.665s
sys	2m1.553s
2024-02-29 00:22:10 -08:00
Tim Hockin
df42d56947
Remove vendor from ldflags 2024-02-29 00:22:09 -08:00
Tim Hockin
81d932906a
Make golang::binaries_from_targets smarter
and use it from test

Result: `make` works, but `make test` still broken

```
$ make kubectl
+++ [1211 11:15:46] Building go targets for linux/amd64
    ./cmd/kubectl (static)

$ make WHAT=./cmd/kubectl/
+++ [1211 11:15:53] Building go targets for linux/amd64
    ./cmd/kubectl/ (non-static)

$ make WHAT=cmd/kubectl/
+++ [1211 11:16:02] Building go targets for linux/amd64
    ./cmd/kubectl/ (non-static)

$ make WHAT=k8s.io/kubernetes/cmd/kubectl
+++ [1211 11:16:16] Building go targets for linux/amd64
    k8s.io/kubernetes/cmd/kubectl (static)

$ make WHAT=./staging/src/k8s.io/api
+++ [1211 11:16:31] Building go targets for linux/amd64
    ./staging/src/k8s.io/api (non-static)

$ make WHAT=staging/src/k8s.io/api
+++ [1211 11:16:43] Building go targets for linux/amd64
    ./staging/src/k8s.io/api (non-static)

$ make WHAT=k8s.io/api
+++ [1211 11:16:50] Building go targets for linux/amd64
    k8s.io/api (non-static)
```

```
$ make test WHAT=./cmd/kubectl
+++ [1211 11:17:23] Set GOMAXPROCS automatically to 6
+++ [1211 11:17:23] Running tests without code coverage and with -race
cmd/kubectl/kubectl.go:25:2: cannot find package "k8s.io/client-go/plugin/pkg/client/auth" in any of:
	/home/thockin/src/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/client-go/plugin/pkg/client/auth (vendor tree)
	/home/thockin/sdk/gotip/src/k8s.io/client-go/plugin/pkg/client/auth (from $GOROOT)
	/home/thockin/src/kubernetes/_output/local/go/src/k8s.io/client-go/plugin/pkg/client/auth (from $GOPATH)
cmd/kubectl/kubectl.go:20:2: cannot find package "k8s.io/component-base/cli" in any of:
	/home/thockin/src/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/component-base/cli (vendor tree)
	/home/thockin/sdk/gotip/src/k8s.io/component-base/cli (from $GOROOT)
	/home/thockin/src/kubernetes/_output/local/go/src/k8s.io/component-base/cli (from $GOPATH)
cmd/kubectl/kubectl.go:21:2: cannot find package "k8s.io/kubectl/pkg/cmd" in any of:
	/home/thockin/src/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd (vendor tree)
	/home/thockin/sdk/gotip/src/k8s.io/kubectl/pkg/cmd (from $GOROOT)
	/home/thockin/src/kubernetes/_output/local/go/src/k8s.io/kubectl/pkg/cmd (from $GOPATH)
cmd/kubectl/kubectl.go:22:2: cannot find package "k8s.io/kubectl/pkg/cmd/util" in any of:
	/home/thockin/src/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/util (vendor tree)
	/home/thockin/sdk/gotip/src/k8s.io/kubectl/pkg/cmd/util (from $GOROOT)
	/home/thockin/src/kubernetes/_output/local/go/src/k8s.io/kubectl/pkg/cmd/util (from $GOPATH)
make: *** [Makefile:191: test] Error 1
```
2024-02-29 00:22:08 -08:00
Tim Hockin
8b579b2347
Change the build_binaries path to use modules
This makes "new" and "old" setup_env functions. In subsequent commits,
all callers of the "old" form will be fixed, and the "new" will be
renamed back.

The old and new functions diff:

```diff
--- /tmp/a	2023-12-14 09:02:57.804092696 -0800
+++ /tmp/b	2023-12-14 09:03:09.679999585 -0800
@@ -1,4 +1,4 @@
-kube::golang::old::setup_env() {
+kube::golang:🆕:setup_env() {
   kube::golang::verify_go_version

   # Set up GOPATH.  We have tools which depend on being in a GOPATH (see
@@ -7,9 +7,9 @@
   # Even in module mode, we need to set GOPATH for `go build` and `go install`
   # to work.  We build various tools (usually via `go install`) from a lot of
   # scripts.
-  #   * We can't set GOBIN because that does not work on cross-compiles.
-  #   * We could use `go build -o <something>`, but it's subtle when it comes
-  #     to cross-compiles and whether the <something> is a file or a directory,
+  #   * We can't just set GOBIN because that does not work on cross-compiles.
+  #   * We could always use `go build -o <something>`, but it's subtle wrt
+  #     cross-compiles and whether the <something> is a file or a directory,
   #     and EVERY caller has to get it *just* right.
   #   * We could leave GOPATH alone and let `go install` write binaries
   #     wherever the user's GOPATH says (or doesn't say).
@@ -20,16 +20,6 @@
   #
   # Eventually, when we no longer rely on run-in-gopath.sh we may be able to
   # simplify this some.
-  local go_pkg_dir="${KUBE_GOPATH}/src/${KUBE_GO_PACKAGE}"
-  local go_pkg_basedir
-  go_pkg_basedir=$(dirname "${go_pkg_dir}")
-
-  mkdir -p "${go_pkg_basedir}"
-
-  # TODO: This symlink should be relative.
-  if [[ ! -e "${go_pkg_dir}" || "$(readlink "${go_pkg_dir}")" != "${KUBE_ROOT}" ]]; then
-    ln -snf "${KUBE_ROOT}" "${go_pkg_dir}"
-  fi
   export GOPATH="${KUBE_GOPATH}"

   # If these are not set, set them now.  This ensures that any subsequent
@@ -40,24 +30,10 @@
   # Make sure our own Go binaries are in PATH.
   export PATH="${KUBE_GOPATH}/bin:${PATH}"

-  # Change directories so that we are within the GOPATH.  Some tools get really
-  # upset if this is not true.  We use a whole fake GOPATH here to collect the
-  # resultant binaries.
-  local subdir
-  subdir=$(kube::realpath . | sed "s|${KUBE_ROOT}||")
-  cd "${KUBE_GOPATH}/src/${KUBE_GO_PACKAGE}/${subdir}" || return 1
-
-  # Set GOROOT so binaries that parse code can work properly.
-  GOROOT=$(go env GOROOT)
-  export GOROOT
-
   # Unset GOBIN in case it already exists in the current session.
   # Cross-compiles will not work with it set.
   unset GOBIN

-  # This seems to matter to some tools
-  export GO15VENDOREXPERIMENT=1
-
-  # Disable workspaces
-  export GOWORK=off
+  # Explicitly turn on modules.
+  export GO111MODULE=on
 }
```

Result: `make` works for k/k:

```
$ make kubectl
+++ [1211 11:07:31] Building go targets for linux/amd64
    k8s.io/kubernetes/cmd/kubectl (static)

$ make WHAT=./cmd/kubectl/
+++ [1211 11:08:19] Building go targets for linux/amd64
    k8s.io/kubernetes/./cmd/kubectl/ (non-static)

$ make WHAT=k8s.io/kubernetes/cmd/kubectl
+++ [1211 11:08:52] Building go targets for linux/amd64
    k8s.io/kubernetes/cmd/kubectl (static)
```

Result: `make` works for staging by package:

```
$ make WHAT=k8s.io/api
+++ [1211 11:11:37] Building go targets for linux/amd64
    k8s.io/api (non-static)
```

Result: `make` fails for staging by path:

```
$ make WHAT=./staging/src/k8s.io/api
+++ [1211 11:12:44] Building go targets for linux/amd64
    k8s.io/kubernetes/./staging/src/k8s.io/api (non-static)
cannot find module providing package k8s.io/kubernetes/staging/src/k8s.io/api: import lookup disabled by -mod=vendor
	(Go version in go.work is at least 1.14 and vendor directory exists.)
!!! [1211 11:12:44] Call tree:
!!! [1211 11:12:44]  1: /home/thockin/src/kubernetes/hack/lib/golang.sh:850 kube::golang::build_some_binaries(...)
!!! [1211 11:12:44]  2: /home/thockin/src/kubernetes/hack/lib/golang.sh:1012 kube::golang::build_binaries_for_platform(...)
!!! [1211 11:12:44]  3: hack/make-rules/build.sh:27 kube::golang::build_binaries(...)
!!! [1211 11:12:44] Call tree:
!!! [1211 11:12:44]  1: hack/make-rules/build.sh:27 kube::golang::build_binaries(...)
!!! [1211 11:12:44] Call tree:
!!! [1211 11:12:44]  1: hack/make-rules/build.sh:27 kube::golang::build_binaries(...)
make: *** [Makefile:96: all] Error 1
```

Result: `make test` fails:

```
$ make test WHAT=./cmd/kubectl
+++ [1211 11:13:38] Set GOMAXPROCS automatically to 6
+++ [1211 11:13:38] Running tests without code coverage and with -race
cmd/kubectl/kubectl.go:25:2: cannot find package "k8s.io/client-go/plugin/pkg/client/auth" in any of:
	/home/thockin/src/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/client-go/plugin/pkg/client/auth (vendor tree)
	/home/thockin/sdk/gotip/src/k8s.io/client-go/plugin/pkg/client/auth (from $GOROOT)
	/home/thockin/src/kubernetes/_output/local/go/src/k8s.io/client-go/plugin/pkg/client/auth (from $GOPATH)
cmd/kubectl/kubectl.go:20:2: cannot find package "k8s.io/component-base/cli" in any of:
	/home/thockin/src/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/component-base/cli (vendor tree)
	/home/thockin/sdk/gotip/src/k8s.io/component-base/cli (from $GOROOT)
	/home/thockin/src/kubernetes/_output/local/go/src/k8s.io/component-base/cli (from $GOPATH)
cmd/kubectl/kubectl.go:21:2: cannot find package "k8s.io/kubectl/pkg/cmd" in any of:
	/home/thockin/src/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd (vendor tree)
	/home/thockin/sdk/gotip/src/k8s.io/kubectl/pkg/cmd (from $GOROOT)
	/home/thockin/src/kubernetes/_output/local/go/src/k8s.io/kubectl/pkg/cmd (from $GOPATH)
cmd/kubectl/kubectl.go:22:2: cannot find package "k8s.io/kubectl/pkg/cmd/util" in any of:
	/home/thockin/src/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/cmd/util (vendor tree)
	/home/thockin/sdk/gotip/src/k8s.io/kubectl/pkg/cmd/util (from $GOROOT)
	/home/thockin/src/kubernetes/_output/local/go/src/k8s.io/kubectl/pkg/cmd/util (from $GOPATH)
make: *** [Makefile:191: test] Error 1
```
2024-02-29 00:22:07 -08:00
Patrick Ohly
65b841c077
Generate go.work files
This creates go.work and enables Go Workspaces.  This is a file that
includes info on k/k and all the staging modules.

This depends on go 1.22 and setting FORCE_HOST_GO=true (for kube
scripts, which try to be hermetic).

Make this part of the normal update/verify sequence.

The top-level go.work file contains no replace statements. Instead, the
replace statements in the individual go.mod files are used. For this to
work, replace statements in the individual go.mod files have to be
consistent.

hack/tools has different dependencies and can't be in the main
workspace, so this adds a go.work just for that.  Without this, go tries
to consider all deps in all modules and pick one that works for all.
This is problematic because there are so many of them that it is
difficult to manage.

Likewise for k8s.io/code-generator/examples and
k8s.io/kms/internal/plugins/_mock - add trivial go.work files.

For example k/k depends on an older version of a lib that gloangci-lint
needs (transitively) and it breaks.

This also updates vendor (needed to make go happy), and removes
vendor'ed symlinks.  This breaks a LOT of our build tools, which will be
fixed subsequently.

Result: `go` commands work across modules:

Before:
```
$ go list ./pkg/proxy/iptables/ ./staging/src/k8s.io/api/core/v1/
main module (k8s.io/kubernetes) does not contain package k8s.io/kubernetes/staging/src/k8s.io/api/core/v1

$ go build ./pkg/proxy/iptables/ ./staging/src/k8s.io/api
main module (k8s.io/kubernetes) does not contain package k8s.io/kubernetes/staging/src/k8s.io/api

$ go test ./pkg/proxy/iptables/ ./staging/src/k8s.io/api
main module (k8s.io/kubernetes) does not contain package k8s.io/kubernetes/staging/src/k8s.io/api
```

After:
```
$ go list ./pkg/proxy/iptables/ ./staging/src/k8s.io/api/core/v1/
k8s.io/kubernetes/pkg/proxy/iptables
k8s.io/api/core/v1

$ go build ./pkg/proxy/iptables/ ./staging/src/k8s.io/api

$ go test ./pkg/proxy/iptables/ ./staging/src/k8s.io/api
ok  	k8s.io/kubernetes/pkg/proxy/iptables	0.360s
ok  	k8s.io/api	2.302s
```

Result: `make` fails:

```
$ make
go version go1.22rc1 linux/amd64
+++ [0106 12:11:03] Building go targets for linux/amd64
    k8s.io/kubernetes/cmd/kube-proxy (static)
    k8s.io/kubernetes/cmd/kube-apiserver (static)
    k8s.io/kubernetes/cmd/kube-controller-manager (static)
    k8s.io/kubernetes/cmd/kubelet (non-static)
    k8s.io/kubernetes/cmd/kubeadm (static)
    k8s.io/kubernetes/cmd/kube-scheduler (static)
    k8s.io/component-base/logs/kube-log-runner (static)
    k8s.io/kube-aggregator (static)
    k8s.io/apiextensions-apiserver (static)
    k8s.io/kubernetes/cluster/gce/gci/mounter (static)
    k8s.io/kubernetes/cmd/kubectl (static)
    k8s.io/kubernetes/cmd/kubectl-convert (static)
    github.com/onsi/ginkgo/v2/ginkgo (non-static)
    k8s.io/kubernetes/test/e2e/e2e.test (test)
    k8s.io/kubernetes/test/conformance/image/go-runner (non-static)
    k8s.io/kubernetes/cmd/kubemark (static)
    github.com/onsi/ginkgo/v2/ginkgo (non-static)
    k8s.io/kubernetes/test/e2e_node/e2e_node.test (test)
test/e2e/e2e.go:35:2: cannot find package "k8s.io/api/apps/v1" in any of:
	/home/thockin/src/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/api/apps/v1 (vendor tree)
	/home/thockin/src/kubernetes/_output/local/.gimme/versions/go1.22rc1.linux.amd64/src/k8s.io/api/apps/v1 (from $GOROOT)
	/home/thockin/src/kubernetes/_output/local/go/src/k8s.io/api/apps/v1 (from $GOPATH)
	... more ...
	... more ...
	... more ...
!!! [0106 12:13:41] Call tree:
!!! [0106 12:13:41]  1: /home/thockin/src/kubernetes/hack/lib/golang.sh:948 kube::golang::build_binaries_for_platform(...)
!!! [0106 12:13:41]  2: hack/make-rules/build.sh:27 kube::golang::build_binaries(...)
!!! [0106 12:13:41] Call tree:
!!! [0106 12:13:41]  1: hack/make-rules/build.sh:27 kube::golang::build_binaries(...)
!!! [0106 12:13:41] Call tree:
!!! [0106 12:13:41]  1: hack/make-rules/build.sh:27 kube::golang::build_binaries(...)
make: *** [Makefile:96: all] Error 1
```

Again, this requires go 1.22 (e.g. gotip), as go 1.21.x does not have
`go work vendor` support.

TO REPEAT:
    ( \
      ./hack/update-go-workspace.sh; \
      ./hack/update-vendor.sh; \
      ./hack/update-go-workspace.sh; \
    )
2024-02-29 00:22:06 -08:00
Christoph Blecker
0a1edf8bda
Re-add KUBE_TIMEOUT explicitly to make test 2024-02-26 15:46:38 -08:00
Kubernetes Prow Robot
18a49b6c56
Merge pull request #123393 from cblecker/fix-make
Fix makefile variable expansion for test-integration target
2024-02-26 12:06:57 -08:00
Christoph Blecker
ca41a9222d
Fix makefile variable expansion for test-integration target 2024-02-26 09:01:04 -08:00
Kay Yan
78c9610235 hack/tools: update to golangci-lint v1.56.2 + golang v1.21
Signed-off-by: Kay Yan <kay.yan@daocloud.io>
2024-02-22 07:03:10 +00:00
Kubernetes Prow Robot
6049a1bca4
Merge pull request #122880 from Jefftree/agg-discovery-v2-types
Add aggregated discovery v2 types
2024-02-20 21:03:22 -08:00
Kubernetes Prow Robot
0e8ef9c353
Merge pull request #123334 from pohly/lint-skip-in-verify
golangci-lint: optionally skip it during "make verify", II
2024-02-16 07:15:42 -08:00
Patrick Ohly
c1f2fe7bcb golangci-lint: optionally skip it during "make verify", II
The pull-kubernetes-verify job is using this to run the base
verify-golangci.sh only in the pull-kubernetes-verify-lint job.
Because the file name was not quite right, it still ran.
2024-02-16 10:07:51 +01:00
Kubernetes Prow Robot
0b24b55e7f
Merge pull request #123269 from pohly/lint-skip-in-verify
golangci-lint: optionally skip it during "make verify"
2024-02-14 18:08:18 -08:00
Patrick Ohly
39606af8c3 golangci-lint: optionally skip it during "make verify"
The pull-kubernetes-verify job is going to use this to run the base
verify-golangci.sh only in the pull-kubernetes-verify-lint job.
2024-02-13 17:35:15 +01:00
Patrick Ohly
8876b68a60 golangci-lint: add hints for error wrapping
Wrapping errors may or may not be the right thing to do (see
https://go.dev/blog/go1.13-errors#whether-to-wrap and the discussion in
https://github.com/kubernetes/kubernetes/issues/123234). But developers should
at least think about it, so let's emit linter hints for it: the golangci-lint
config by default enables it for go-errorlint, just not the linter itself, so
we just need to add it for the "hints" config.

Direct error comparisons and assertions also get checked. Those are typically
something that should be replaced by errors.Is and errors.As, but as the
existing code often doesn't do that, let's also treat those as just hints.
2024-02-13 14:12:04 +01:00
Kubernetes Prow Robot
7bea14097b
Merge pull request #122612 from mtardy/remove-scdeny
auth: remove SecurityContextDeny admission plugin
2024-02-12 08:37:13 -08:00
cpanato
ddb0b8da9d
[go] Bump images, dependencies and versions to go 1.22
Signed-off-by: cpanato <ctadeu@gmail.com>
2024-02-09 14:43:34 +01:00
José Carlos Chávez
6d6398ef92
chore: adds consistent vanity import to files and provides tooling for verifying and updating them. (#120642)
* chore: drops update vanity imports from script.

* chore: changes copyright year to 2024.

* chore: makes lint happy.
2024-02-08 04:33:30 -08:00
Kubernetes Prow Robot
27e15a6c70
Merge pull request #123159 from oxxenix/master
Revert "print error message regardless verbosity level"
2024-02-07 09:03:43 -08:00
bzsuni
658e3308f3 etcd: Update to version 3.5.12
Signed-off-by: bzsuni <bingzhe.sun@daocloud.io>
2024-02-07 21:16:08 +08:00
Oksana Baranova
1ae7553744 Revert "print error message regardless verbosity level"
This reverts commit a4afaeda37.
2024-02-06 16:40:08 +02:00
Kubernetes Prow Robot
c0618cf947
Merge pull request #122769 from thockin/bump_shellcheck_version
Bump shellcheck to 0.9.0
2024-02-05 08:45:29 -08:00
Masashi Honma
9027049f2c local-up-cluster.sh: Use config file instead of flags for kubelet
Because /tmp/kubelet.log shows trailing log.

Flag --container-runtime-endpoint has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ for more information.

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
2024-02-02 09:39:05 +09:00
cpanato
c9991e4270
[go] Bump images, dependencies and versions to go 1.22rc1
Signed-off-by: cpanato <ctadeu@gmail.com>
2024-01-28 10:10:47 +01:00
Tim Hockin
a7cf7fe55a
Bump shellcheck to 0.9.0
Fix everything it flagged.
2024-01-26 16:26:40 -08:00
Kubernetes Prow Robot
c4feb19195
Merge pull request #122878 from liggitt/typecheck-kube-proxy-darwin
Re-allow building kube-proxy on all platforms
2024-01-26 16:32:12 +01:00
Kubernetes Prow Robot
d3479eeeac
Merge pull request #122941 from bart0sh/PR130-cleanup-boilerplate_test
Fix and cleanup boilerplate_test.py
2024-01-26 00:56:35 +01:00
Davanum Srinivas
139c6daf30
Missed a spot! testing verify-licenses.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-01-25 15:26:43 -05:00
Kubernetes Prow Robot
6892e38362
Merge pull request #122963 from SataQiu/fix-20240125
Enable testing import check for kubeadm binary
2024-01-25 16:01:52 +01:00
Kubernetes Prow Robot
192e53590e
Merge pull request #122956 from dims/fix-license-verification-script
Fix license verification script
2024-01-25 16:01:45 +01:00
Davanum Srinivas
89db64e053
collect generated files and logs
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-01-25 07:23:31 -05:00
SataQiu
39afee443f enable testing import check for kubeadm binary 2024-01-25 19:56:42 +08:00
Kubernetes Prow Robot
81986587ef
Merge pull request #122917 from bells17/make-update-add-update-golangci-lint-config
make update: add update-golangci-lint-config
2024-01-25 08:30:57 +01:00
Davanum Srinivas
9b96ab46ee Fix license verification script 2024-01-25 03:47:09 +00:00
Ed Bartosh
83de1586e0 boilerplate_test:fix pylint warnings
Fixed the following Pylint warnings:

boilerplate_test.py:34:8: R0205: Class 'Args' inherits from object, can be safely removed from bases in python3 (useless-object-inheritance)
boilerplate_test.py:46:8: W0612: Unused variable 'ret' (unused-variable)
boilerplate_test.py:18:0: C0411: standard import "import unittest" should be placed before "import boilerplate" (wrong-import-order)
boilerplate_test.py:19:0: C0411: standard import "from io import StringIO" should be placed before "import boilerplate" (wrong-import-order)
boilerplate_test.py:20:0: C0411: standard import "import os" should be placed before "import boilerplate" (wrong-import-order)
boilerplate_test.py:21:0: C0411: standard import "import sys" should be placed before "import boilerplate" (wrong-import-order)
2024-01-24 11:05:26 +02:00
Ed Bartosh
4473dfebbf fix boilerplate test
Fixed AttributeError: type object '_io.StringIO' has no attribute 'StringIO'
2024-01-24 11:04:52 +02:00
Ed Bartosh
9dc1da1e5b boilerplate_test: fix bad indentation 2024-01-24 10:36:52 +02:00
Kubernetes Prow Robot
7bb00356f0
Merge pull request #122857 from nilo19/chore/cleanup-azure
chore: Cleanup in-tree credential provider azure and cloud provider a…
2024-01-23 21:31:11 +01:00
Kubernetes Prow Robot
89dcee65a2
Merge pull request #121735 from vlasebian/issue-115175-testing-import-presubmit-check
Add script for restricting import of test only libraries
2024-01-23 20:03:46 +01:00
Jordan Liggitt
8b22cb4696
Revert "Make verify-typecheck.sh only check valid targets for a platform"
This reverts commit e48aa09340.
2024-01-22 20:45:25 -08:00
bells17
62eb7cb4f9 make update: add update-golangci-lint-config 2024-01-23 03:09:13 +09:00
Qi Ni
3bf2bf8191 chore: Cleanup in-tree credential provider azure and cloud provider azure 2024-01-20 15:18:31 +08:00
Kubernetes Prow Robot
418ae605ec
Merge pull request #122879 from liggitt/verbose-local-up
Make local-up-cluster non-verbose by default
2024-01-20 03:50:35 +01:00
Kubernetes Prow Robot
fbb2e6293f
Merge pull request #122871 from oxxenix/minor-fix
Print error message regardless verbosity value
2024-01-19 21:04:18 +01:00
Jefftree
1a38fb3c35 init.sh fix 2024-01-19 13:14:09 -05:00
Jordan Liggitt
6ae264464c
Make local-up-cluster non-verbose by default 2024-01-19 08:27:28 -08:00
Oksana Baranova
a4afaeda37 print error message regardless verbosity level
Signed-off-by: Oksana Baranova <oksana.baranova@intel.com>
2024-01-19 13:57:27 +02:00
Jordan Liggitt
1192f313b8
Fix local-up-cluster on darwin 2024-01-18 08:51:45 -08:00
Tim Hockin
0d366dd99a
codegen: Use long flag names for clarity 2024-01-14 16:12:09 -08:00
Kubernetes Prow Robot
dcee8834b5
Merge pull request #122775 from thockin/codegen_s_base_file_g
update-codegen: rename "base"->"file" for clarity
2024-01-15 01:08:39 +01:00
Kubernetes Prow Robot
908a958bb1
Merge pull request #122771 from thockin/make_verify-fieldname-docs_actually_error
Make verify-fieldname-docs actually error
2024-01-14 23:57:44 +01:00
Tim Hockin
0f849d3b55
update-codegen: rename "base"->"file" for clarity 2024-01-14 10:41:59 -08:00
Tim Hockin
f2b550180c
codegen: don't use xargs w/ maybe-empty input
GNU xargs has a `-r, --no-run-if-empty` option but I don't think we want
to depend on GNU (thanks, MacOS).

Why?  Sometimes, when you are messing with codegens, you end up with an
empty input and then it just hangs.
2024-01-14 10:38:34 -08:00
Tim Hockin
8b8f0a70cd
Make verify-fieldname-docs actually error
Sadly, cmd/fieldnamedocscheck did not exit non-zero when it needed to.

Fix the one thing it flagged.
Add it to verify-quick
2024-01-14 10:32:08 -08:00
Benjamin Elder
08645984b0 Revert "Save a list of images used by e2e.test"
This reverts commit a3c4a60995.
2024-01-12 13:15:01 -08:00
Patrick Ohly
d954b25b11 hack/tools: bump logcheck to v0.8.1
This enables the usage of the new SafePtr in code which needs to support
contextual logging.
2024-01-12 14:39:50 +01:00
Davanum Srinivas
ddbf3ab662
local-up-cluster: use the newly built library always
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-01-11 08:13:21 -05:00
Kubernetes Prow Robot
c9158e9a19
Merge pull request #122595 from dims/support-building-with-and-without-cloud-providers
KUBE_PROVIDERLESS - Support building with and without cloud providers
2024-01-11 05:42:23 +01:00
Davanum Srinivas
ce263d8828
Address comments during Review
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-01-09 15:52:16 -05:00
Ziqi Zhao
6b5e973e5f
Migrate cmd/kube-proxy to contextual logging (#122197)
* cmd/kube-proxy support contextual logging

Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>

* use ktesting.NewTestContext(t) in unit test

Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>

* use ktesting.NewTestContext(t) in unit test

Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>

* remove unnecessary blank line & add cmd/kube-proxy to contextual section in logcheck.conf

Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>

* add more contextual logging

Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>

* new lint yaml

Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>

---------

Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>
2024-01-08 17:30:18 +01:00
Davanum Srinivas
e25e1d39bd
Add KUBE_PROVIDERLESS for CI jobs to run with providerless tag
Also ensure `test/e2e` works with providerless tag in the verify
script

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-01-07 15:20:57 -05:00
Nikola
5704a58810 add test for the registered feature gates 2024-01-07 18:10:25 +02:00
Mahe Tardy
73bec0f6d9 api: remove SecurityContextDeny admission plugin 2024-01-05 15:11:18 +00:00
Davanum Srinivas
2431a964af
Drop hack/verify-govet-levee
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-01-04 21:06:52 -05:00
Kubernetes Prow Robot
7db7824d85
Merge pull request #122178 from saschagrunert/cni-plugins
Update cni-plugins to v1.4.0
2024-01-04 18:00:07 +01:00
Kubernetes Prow Robot
88d497d401
Merge pull request #118626 from borg-land/use-e2-instance-types
Switch to e2 machine types
2024-01-04 16:49:14 +01:00
Davanum Srinivas
a3c4a60995
Save a list of images used by e2e.test
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-01-03 08:07:47 -05:00
Kubernetes Prow Robot
be62153915
Merge pull request #122416 from pohly/e2e-gomega-be-true-or-false
e2e: forbid usage of gomega.BeTrue/False
2024-01-02 16:46:57 +01:00
Kubernetes Prow Robot
9680c84b9c
Merge pull request #121836 from skitt/verify-no-vendor-cycles-go
verify-no-vendor-cycles: set up Go environment
2024-01-02 16:46:39 +01:00
Kubernetes Prow Robot
58d023e178
Merge pull request #121894 from thockin/build_trimpath
build: use -trimpath in non-DBG mode
2023-12-29 04:38:51 +01:00
Tim Hockin
e3686246ea
Fix update-openapi-spec to not change caller CWD 2023-12-25 13:59:10 -08:00
Kubernetes Prow Robot
40c729c680
Merge pull request #122436 from pohly/log-warn-context
hack/tools: bump logtools to v0.8.0
2023-12-22 14:32:38 +01:00
Patrick Ohly
51f3b705c6 hack/tools: bump logtools to v0.8.0
This adds support for marking functions and methods as "don't use in code which
supports contextual logging".
2023-12-21 15:12:40 +01:00
Mohamed Omar Zaian
c8a2d5684d etcd: Update to version 3.5.11 2023-12-20 11:18:35 +01:00
Patrick Ohly
36cceff0a3 e2e: forbid usage of gomega.BeTrue/False
`BeTrue` without explanation in `Should` just prints "false is not true", which
isn't a useful failure message. Even with an explanation that message is still
printed, which is just noise. The new BeTrue/FalseBecause avoid that by
requiring that an explanation is provided and using that instead of "false is
not true".

In Kubernetes, we can enforce the usage of those better alternatives or the
if+Fail combination via forbidigo. Because we have existing code which still
needs to be updated, this can only be a hint for now.

Some examples found with this:

ERROR: test/e2e/apimachinery/protocol.go:75:20: use of `o.BeTrue` forbidden because "it does not produce a good failure message, use BeTrueBecause with an explicit printf-style failure message instead or plain Go: if ... { ginkgo.Fail(...) }" (forbidigo)
ERROR: 			o.Expect(ok).To(o.BeTrue())
ERROR: 			                ^

ERROR: test/e2e_node/unknown_pods_test.go:163:52: use of `gomega.BeTrue` forbidden because "it does not produce a good failure message, use BeTrueBecause with an explicit printf-style failure message instead or plain Go: if ... { ginkgo.Fail(...) }" (forbidigo)
ERROR: 			}, f.Timeouts.PodStart, f.Timeouts.Poll).Should(gomega.BeTrue())
ERROR: 			                                                ^

The solution might also be to write a custom matcher, but that is a bit hard to
explain in the forbidigo message.
2023-12-20 10:11:56 +01:00
James Blair
b6c1f8ef08
Fix etcd repository path to prevent redirects.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-12-16 19:50:02 +13:00
Kubernetes Prow Robot
d19420f3ec
Merge pull request #122210 from dims/trying-to-fix-local-up-cluster
Explicitly stop/start docker to fix local-up-cluster.sh
2023-12-15 09:45:49 +01:00
Patrick Ohly
ced99383d5 logcheck: remove redundant entry for pkg/scheduler
Contextual implies structured, so listing pkg/scheduler as contextual is
enough.
2023-12-14 20:22:04 +01:00
Patrick Ohly
b450224c12 golangci-lint: inline logcheck configuration
This has the advantage that the golangci-lint cache gets invalidated
automatically each time the logcheck config changes.
2023-12-14 20:21:58 +01:00
Patrick Ohly
49084fe577 golangci-lint: logcheck v0.7.0, golangci-lint v1.55.2
This adds support for the new golangci-lint plugin interface and settings
mechanism.
2023-12-14 20:21:19 +01:00
Kubernetes Prow Robot
e12d4b63d6
Merge pull request #121773 from pohly/zapr-update
dependencies: zapr v1.3.0, zap v1.26.0
2023-12-14 18:14:22 +01:00
Kubernetes Prow Robot
485e57c395
Merge pull request #122250 from thockin/fix_verify-licenses
Fix verify-licenses.sh
2023-12-14 07:27:39 +01:00
Kubernetes Prow Robot
407c2c3015
Merge pull request #122230 from thockin/update-vendor_cleanups
Small update-vendor cleanup
2023-12-14 07:27:12 +01:00
Kubernetes Prow Robot
abb336b9c9
Merge pull request #122228 from thockin/cleaner_make_clean
Simpler and less noisy make-clean
2023-12-14 07:26:54 +01:00
Ricardo Lopes
86ab185fa1
Migrate client-go/metadata to contextual logging (#122225)
* client-go: migrate metadata to contextual logging

Signed-off-by: Ricardo Lopes <ricardoapl.dev@gmail.com>

* client-go: test for metadata contextual logs

Signed-off-by: Ricardo Lopes <ricardoapl.dev@gmail.com>

* refactor: extract context for table driven testing

Signed-off-by: Ricardo Lopes <ricardoapl.dev@gmail.com>

* refactor: pass context as first parameter

Signed-off-by: Ricardo Lopes <ricardoapl.dev@gmail.com>

---------

Signed-off-by: Ricardo Lopes <ricardoapl.dev@gmail.com>
2023-12-14 07:26:45 +01:00
Kubernetes Prow Robot
909ad7e232
Merge pull request #121722 from danwinship/fix-typecheck
Make verify-typecheck.sh only check valid targets for a platform
2023-12-13 22:35:18 +01:00
Kubernetes Prow Robot
6d58ef4a7b
Merge pull request #121493 from BenTheElder/etcd-current
automatically setup etcd when running {verify,update}-openapi-spec.sh
2023-12-13 21:26:54 +01:00
Kubernetes Prow Robot
e8c265169b
Merge pull request #121478 from pohly/golangci-lint-message
verify-golangci-lint.sh: clarify intended usage of warnings
2023-12-13 21:26:45 +01:00
Sascha Grunert
1ae5594fb2
Update cni-plugins to v1.4.0
Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2023-12-13 09:33:31 +01:00
Tim Hockin
87c6b0d69f
Smallish update-vendor cleanup 2023-12-11 13:29:47 -08:00
Tim Hockin
7dfe3d866b
Fix verify-licenses.sh
This still feels like a hack, but less horrible now.  Running this pases
without error.
2023-12-09 17:48:48 -08:00
Tim Hockin
b9ff6b25f2
Simpler and less noisy make-clean 2023-12-08 09:20:44 -08:00
Davanum Srinivas
48671a3a20
explicitly stop/start docker to fix up local-up-cluster.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-12-06 20:54:08 -05:00
Tim Hockin
37b7ae6b93
build: use -trimpath in non-DBG mode 2023-11-27 09:12:45 -08:00
Vlad Vitan
3df90134ca add script for restricting import of test only libraries 2023-11-15 20:21:16 +01:00
Stephen Kitt
f040d9012c
verify-no-vendor-cycles: set up Go environment
This script relies on Go but doesn't set up the private Go environment
(which ensures that the go command meets k/k's requirements). This
fixes that.

As a drive-by improvement, drop two unnecessary backslashes from
regexes (before / which doesn't need to be escaped).

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2023-11-10 10:58:53 +01:00
Jordan Liggitt
819d1903a2
Add support for authorization-config to local-up-cluster 2023-11-08 14:36:05 -06:00
Patrick Ohly
166b71757b dependencies: zapr v1.3.0, zap v1.26.0
The new zapr adds support for slog. The new zap has various improvements. It no
longer depends on go.uber.org/atomic which enables dropping it from the
Kubernetes dependencies. github.com/pkg/errors is also no longer needed.
2023-11-07 20:24:28 +01:00
Dan Winship
e48aa09340 Make verify-typecheck.sh only check valid targets for a platform
e.g., don't try to compile kube-proxy on darwin, since we don't build
it there anyway.
2023-11-04 10:24:19 -04:00
Mohamed Omar Zaian
3c268b7524 etcd: Update to version 3.5.10 2023-11-02 10:30:41 +01:00
Kubernetes Prow Robot
9e84a02950
Merge pull request #121672 from pohly/golangci-lint-comment-check-fix
golangci-lint: tone down comment checking
2023-11-01 17:47:45 +01:00
Patrick Ohly
248100ce6d golangci-lint: tone down comment checking
39df946c06 was meant to enable stricter comment checking only for cmd/kubeadm
because the maintainers of that want that. However, the exclude rule didn't
capture all possible error texts and therefore some checks were enabled across
the entire code base.

The extended pattern is now based on the golangci-lint source code.

Also, the hint config didn't suppress any of these checks.
2023-11-01 14:59:28 +01:00
guangli.bao
bc1df9e7da bump to newest etcd: v3.5.10
Signed-off-by: guangli.bao <guangli.bao@daocloud.io>
2023-11-01 11:59:31 +08:00
upodroid
e2227a24fb switch to e2 machine types 2023-10-31 21:46:14 +00:00
Davanum Srinivas
bd233a2aa5
typo/api change in cadvisor / updated unwanted-dependencies.json
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-10-31 14:30:57 -04:00
Kubernetes Prow Robot
84fb7b5ce0
Merge pull request #121504 from pohly/golangci-lint-godoc
golangci-lint: enable doc comment checking for cmd/kubeadm
2023-10-31 12:09:17 +01:00
Abu Kashem
b24dd44904
apiserver: enable apf v1 API 2023-10-30 07:48:22 -04:00
Kubernetes Prow Robot
de4aa52171
Merge pull request #121476 from pohly/golangci-lint-update
golangci-lint v1.55.1
2023-10-27 17:43:21 +02:00
Kubernetes Prow Robot
a5ac4be4d0
Merge pull request #121549 from pohly/verify-file-sizes
verify-file-sizes.sh: ensure that no large binary files get added
2023-10-27 16:05:41 +02:00
Kubernetes Prow Robot
fd5c406112
Merge pull request #120933 from mengjiao-liu/contextual-logging-scheduler-remaining-part
kube-scheduler: convert the remaining part to use contextual logging
2023-10-27 10:30:58 +02:00
Patrick Ohly
b6afba18fb verify-file-sizes.sh: ensure that no large binary files get added
We recently had an accident were a 64MB executable got included in a PR and
wasn't caught during the manual review. This new verify script would have
caught that file.

The maximum file size is 10MB. This is intentionally low. If some legitimate
file needs to be added that is larger, then an entry in a .ignorefilesize file
in the directory of the large file can exclude that file from the check.
2023-10-26 20:08:09 +02:00
Patrick Ohly
27f6fb2fa7 hack/tools: golangci-lint v1.55.1
No particular reason for updating to it besides staying up-to-date. The new
checks in the updated ginkgolinter found issues.
2023-10-26 15:32:43 +02:00
Kubernetes Prow Robot
d0084356b3
Merge pull request #121338 from dims/working-otel-bump
Bump otel and other dependencies for CVE-2023-45142
2023-10-26 08:34:47 +02:00
Davanum Srinivas
702d911e22
working-config-otel
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-10-25 16:31:21 -04:00
Benjamin Elder
3c530eea2d automatically setup etcd when running verify/update openapi-spec.sh
1. automatically add etcd to current PATH when calling kube::etcd::install

2. call kube::etcd::install from update-openapi-spec

3. don't call kube::golang::setup_env twice
2023-10-25 11:22:45 -07:00
Patrick Ohly
39df946c06 golangci-lint: enable doc comment checking for cmd/kubeadm
Some code owners might want this for specific packages, like cmd/kubeadm.

This cannot be enabled for everything because:
- a lot of existing code doesn't pass (-> can't be in base config)
- a lot of packages don't need it (-> shouldn't even be a hint)
2023-10-25 12:30:28 +02:00
Patrick Ohly
d20edf697a verify-golangci-lint.sh: support arbitrary GOBIN
The in-tree configs use a relative path to find logcheck.so. This is useful
because then the invocation of golangci-lint also works outside of the script.
But when running with a containerized build, GOBIN points somewhere else. For
that case, a temporary copy of the configuration has to be created with an
absolute path.
2023-10-25 09:25:53 +02:00
Patrick Ohly
ae5bf8e4c6 verify-golangci-lint.sh: clarify intended usage of warnings
Contributors have created PRs because the linter found them. That is often not
necessary and should be discussed before working on a PR.

While at it, output formatting gets updated a bit (extra blank lines, wording).
2023-10-24 14:42:14 +02:00
Mengjiao Liu
2cea51221a hack/logcheck.conf: enable contextual logging in kube-scheduler 2023-10-24 17:56:59 +08:00
Jonathan Gonzalez V
a7adde53be
bump golang.org/grpc to v1.56.3
Bumping golang.org/grpc in light of CVE-2023-44487.

Signed-off-by: Jonathan Gonzalez V <jonathan.abdiel@gmail.com>
2023-10-19 15:20:07 -03:00
Davanum Srinivas
757597fabf
track unmaintained repo - mailru/easyjson
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-10-16 16:49:50 -04:00
Kubernetes Prow Robot
4c8fca2f06
Merge pull request #112894 from pohly/e2e-framework-test-labels
e2e framework: test labels
2023-10-13 02:40:43 +02:00
Kubernetes Prow Robot
5faebe11b4
Merge pull request #120562 from ArkaSaha30/govulncheck-script
Add govulncheck script to expose go vulnerabilities
2023-10-12 18:50:19 +02:00
John Howard
dc334b953d
dependencies: update otel-go dependencies 2023-10-10 19:16:07 +00:00
Patrick Ohly
535ab74346 e2e framework: track and report internal bugs
If something goes wrong during the test registration phase, the only solution
so far was to panic. This is not user-friendly and only allows to report one
problem at a time.

If initialization can continue, then a better solution is to record a bug,
continue, and then report all bugs together.

This also works when just listing tests. The new verify-e2e-suites.sh uses that
to check all test suites (identified as "packages that call
framework.AfterReadingAllFlags", with some exceptions) as part of
pull-kubernetes-verify.

Example output for a fake

    framework.RecordBug(framework.NewBug("fake bug during SIGDescribe", 0))

in test/e2e/storage/volume_metrics.go:
```
$ hack/verify-e2e-suites.sh
go version go1.21.1 linux/amd64
ERROR: E2E test suite invocation failed for test/e2e.
   ERROR: E2E suite initialization was faulty, these errors must be fixed:
   ERROR: test/e2e/storage/volume_metrics.go:49: fake bug during SIGDescribe
E2E suite test/e2e_kubeadm passed.
E2E suite test/e2e_node passed.
```
2023-10-10 18:15:46 +02:00
Patrick Ohly
f538be659c hack: fix update of golangci-lint verify scripts
b190ea0c9 accidentally enabled verify-golangci-lint-pr-hints.sh (non-blocking!)
in the normal "make verify" (blocking!).
2023-10-10 09:03:20 +02:00
Patrick Ohly
b190ea0c96 hack: update golangci-lint verify scripts
Instead of invoking verify-golangci-lint.sh directly from Prow jobs,
those Prow jobs should use "make verify WHAT=...". The advantage is
that the common code for running verify targets will be used, which
includes producing JUnit files.

Providing simple wrappers for strict linting of PRs (=
verify-golangci-lint-pr.sh) and event stricter linting of PRs with hints
enabled (= verify-golangci-lint-pr-hints.sh) enables those WHAT targets.
2023-10-09 20:14:47 +02:00
Kubernetes Prow Robot
f19b62fc09
Merge pull request #120959 from pohly/e2e-test-whitespace-cleanup
e2e: remove redundant spaces in test names
2023-10-05 00:41:59 +02:00
Kubernetes Prow Robot
f936f69cf9
Merge pull request #120729 from pohly/events-context
k8s.io/client-go/tools/[events|record]: support context
2023-10-04 15:45:16 +02:00
Kubernetes Prow Robot
56f330493c
Merge pull request #120822 from akhilerm/change-from-deprecated-fields
update rules to switch from deprecated dir field
2023-10-04 14:00:38 +02:00
Anish Ramasekar
2f5708833a
[KMSv2] pkcs11 reference implementation using SoftHSM
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2023-09-29 16:57:26 +00:00
Patrick Ohly
0e8a1f1816 e2e: remove redundant spaces in test names
The spaces are redundant because Ginkgo will add them itself when concatenating
the different test name components. Upcoming change in the framework will
enforce that there are no such redundant spaces.
2023-09-29 08:30:57 +02:00
ArkaSaha30
7437ad2617
Add/update prechecks to verify-govulncheck.sh
Signed-off-by: ArkaSaha30 <arkasaha30@gmail.com>
2023-09-27 21:05:17 +05:30
Patrick Ohly
27a68aee3a k8s.io/client-go/tools: support context for event recording
Using StartRecordingToSinkWithContext instead of StartRecordingToSink and
StartLogging instead of StartStructuredLogging has several advantages:

- Spawned goroutines no longer get stuck for extended periods of
  time during shutdown when passing in a context that gets canceled.
- Log output can be directed towards a specific logger instead of the global
  default, for example one which writes to a testing.T instance.
- The new methods return an error when something went wrong instead of
  merely recording the error.

That last point is the reason for deprecating the old methods instead of merely
adding new alternatives.

Setting a context when constructing an EventBroadcaster makes calling Shutdown
optional. It can also be used to specify the logger.

Both EventRecorder interfaces in tools/events and tools/record now have a
WithLogger helper. Using that method is optional, but recommended to support
contextual logging properly. Without it, errors that occur while emitting an
event are not associated with the caller.
2023-09-27 09:06:09 +02:00
Kubernetes Prow Robot
ca1371ebfa
Merge pull request #120423 from saschagrunert/gci-mounter-static
Document `cluster/gce/gci/mounter` as static binary
2023-09-26 06:50:00 -07:00
Akhil Mohan
2ce4f85a46
update verify script to check deprecated fields
Signed-off-by: Akhil Mohan <makhil@vmware.com>
2023-09-25 21:37:40 +05:30
Joseph Anttila Hall
1b602ffd9a
Bump Konnectivity to 0.28.0 2023-09-22 13:10:24 -07:00
Arka Saha
9e34aa306c
Update hack/verify-govulncheck.sh
Co-authored-by: LX <hwdefcom@outlook.com>
Signed-off-by: ArkaSaha30 <arkasaha30@gmail.com>
2023-09-13 12:58:33 +05:30
Kubernetes Prow Robot
921fd1b6fa
Merge pull request #120312 from HirazawaUi/cni-auto-arch-select
Add automatic arch and os selection for the deploy cni plugin
2023-09-12 07:48:13 -07:00
Kubernetes Prow Robot
14ed7e8609
Merge pull request #120579 from BenTheElder/cleanup
remove unnecessary kube::golang::verify_go_version calls
2023-09-11 22:16:15 -07:00
Kubernetes Prow Robot
95c6295636
Merge pull request #120279 from BenTheElder/gotoolchain
handle GOTOOLCHAIN in kube::golang::verify_go_version
2023-09-11 17:04:10 -07:00
Benjamin Elder
7ad0e451ac remove unnecessary kube::golang::verify_go_version calls
These scripts don't use go, GOPATH, etc.

They only need to cd to KUBE_ROOT and run git/grep. verify_go_version is wasting time.
2023-09-11 14:06:28 -07:00
Benjamin Elder
d1b5a9953a handle GOTOOLCHAIN in kube::golang::verify_go_version
for now:
- shim FORCE_HOST_GO to GOTOOLCHAIN=local
- treat GOTOOLCHAIN set and !=auto like FORCE_HOST_GO
- otherwise set GOTOOLCHAIN=go${GO_VERSION} and fallback to gimme if necessary

TODO: set toolchain statements in go.mod files and keep them in sync
2023-09-11 12:04:45 -07:00
ArkaSaha30
190f9d0d4b
Add govulncheck script to expose go vulnerabilities
Signed-off-by: ArkaSaha30 <arkasaha30@gmail.com>
2023-09-11 16:34:50 +05:30
HirazawaUi
c1a0aa08e3 Add cni plugin auto Arch and OS selection 2023-09-09 20:33:12 +08:00
Kubernetes Prow Robot
9068bec08e
Merge pull request #120454 from pohly/golangci-lint-hint-deprecated
golangci-lint: warn about deprecated APIs only as hints
2023-09-08 00:32:25 -07:00
SataQiu
dbd3eb5419 remove logcheck.yaml 2023-09-07 18:24:13 +08:00