Commit Graph

121297 Commits

Author SHA1 Message Date
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
Tim Hockin
e54f2296ed
Require Go 1.22.0 in go.mod 2024-02-29 00:22:06 -08:00
Tim Hockin
e2b529fda7
Fix a test that doesn't build on Windows
Typecheck should catch this but didn't.  Fortunately I fixed that in an
upcoming commit.
2024-02-29 00:22:04 -08:00
Kubernetes Prow Robot
a67973a45c
Merge pull request #122717 from jpbetz/crd-object-filters
KEP-4358: Custom Resource Field Selectors
2024-02-28 20:07:12 -08:00
Kubernetes Prow Robot
ecd20dc39a
Merge pull request #122117 from ii/create-volume-attachment-lifecycle-test
Create e2e test for VolumeAttachment endpoints
2024-02-28 19:00:36 -08:00
Stephen Heywood
a3dfba8f50 Create e2e test for VolumeAttachment endpoints
e2e test validates the following 7 endpoints
- createStorageV1VolumeAttachment
- deleteStorageV1CollectionVolumeAttachment
- deleteStorageV1VolumeAttachment
- listStorageV1VolumeAttachment
- patchStorageV1VolumeAttachment
- readStorageV1VolumeAttachment
- replaceStorageV1VolumeAttachment
2024-02-29 13:38:48 +13:00
Kubernetes Prow Robot
7ec1e1a55e
Merge pull request #121606 from saschagrunert/user-namespaces-serial-test
KEP-127: Add UserNamespacesPodSecurityStandards e2e test
2024-02-28 13:54:25 -08:00
Joe Betz
a0dc949ce3 Improve error handling for json path results 2024-02-28 16:22:34 -05:00
Joe Betz
61d6026d23 Fix field paths 2024-02-28 15:49:44 -05:00
Kubernetes Prow Robot
fe8a12d264
Merge pull request #123562 from jpbetz/bump-cel-go-0_17_8
Bump cel-go to v0.17.8 to pick up CEL estimated cost fix
2024-02-28 12:45:41 -08:00
Joe Betz
45742d1d9a Add integration tests 2024-02-28 14:46:47 -05:00
Joe Betz
31f7efab20 Add cost stability tests for chained and nested CEL comprehensions 2024-02-28 14:20:16 -05:00
Joe Betz
7ef3eea8a7 Generate code 2024-02-28 14:06:46 -05:00
Joe Betz
291703482d Add selectableFields to CRDs 2024-02-28 14:06:46 -05:00
Kubernetes Prow Robot
e21a2f5d4f
Merge pull request #123542 from liggitt/websocket-round-tripper-protocol
Use the websocket protocol header, verify selected protocol
2024-02-28 11:01:44 -08:00
Kubernetes Prow Robot
68a47053d1
Merge pull request #123508 from saschagrunert/image-id-container
Add `image_id` to CRI `Container` message
2024-02-28 11:01:35 -08:00
Kubernetes Prow Robot
aeeb029d83
Merge pull request #123183 from SergeyKanzhelev/addFeatureOwnersToTestFeatures
added OWNERS to test/e2e/feature/feature.go
2024-02-28 10:02:09 -08:00
Kubernetes Prow Robot
6409fde49f
Merge pull request #120251 from liyuerich/apps
e2e_apps:stop using deprecated framework.ExpectError
2024-02-28 10:02:00 -08:00
Kubernetes Prow Robot
756628b3a8
Merge pull request #123558 from dims/fix-panic-in-getNpdPodStat
Fix panic in getNpdPodStat
2024-02-28 08:54:07 -08:00
Joe Betz
d49949b642 Bump cel-go to v0.17.8 to pick up CEL estimated cost fix 2024-02-28 10:52:36 -05:00
Davanum Srinivas
fa44b9ca15
Fix panic in getNpdPodStat
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-02-28 10:50:43 -05:00
Kubernetes Prow Robot
54f9807e1e
Merge pull request #120897 from wojtek-t/fix_order_of_init_events
Ensure that initial events are sorted for WatchList
2024-02-28 07:29:22 -08:00
Kubernetes Prow Robot
30a68e4ad4
Merge pull request #123310 from bzsuni/update/dns/v1.23.0
Update kubedns and nodelocaldns to v1.23.0
2024-02-28 05:38:49 -08:00
Kubernetes Prow Robot
f139450e9b
Merge pull request #122885 from claudiubelu/unittests-10
unittests: Fixes unit tests for Windows (part 10)
2024-02-28 05:38:40 -08:00
Kubernetes Prow Robot
c498177b99
Merge pull request #123461 from carlory/fix-kubeadm-494
kubeadm: fix upgrade plan json/yaml output. introduce v1alpha3 changes
2024-02-28 03:53:04 -08:00
Wojciech Tyczyński
92bdc7b387 Ensure that initial events are sorted for WatchList 2024-02-28 12:50:53 +01:00
Kubernetes Prow Robot
d2b4928669
Merge pull request #122830 from p0lyn0mial/upstream-watch-cache-wati-for-bk-after-rv
storage/cacher: ensure the cache is at the Most Recent ResourceVersion when streaming was requested
2024-02-28 01:43:37 -08:00
Sascha Grunert
e663285ccf
Add image_id to CRI Container message
This new field allows fixing the kubelet image garbage collection in
container runtimes. The `image_ref` has been historically used by
container runtimes to reference images by digest.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2024-02-28 10:05:07 +01:00
Kubernetes Release Robot
3327bb3674 CHANGELOG: Update directory for v1.30.0-alpha.3 release 2024-02-28 05:37:29 +00:00
Kubernetes Prow Robot
f7ca532472
Merge pull request #123281 from seans3/remote-command-websocket-beta
RemoteCommand over WebSockets to Beta
2024-02-27 21:01:55 -08:00
Jordan Liggitt
b394aac4ce
Use the websocket protocol header, verify selected protocol 2024-02-27 22:47:19 -05:00
Kubernetes Prow Robot
286cdad32d
Merge pull request #123538 from jiahuif-forks/fix/cel/mutation-library-map-support
CEL mutation library: add support for map
2024-02-27 18:46:10 -08:00
Kubernetes Prow Robot
872c621bb7
Merge pull request #123475 from alexzielenski/apiserver/apiextensions/cel-error-fieldpath
bugfix: incorrect fieldpath when using multiple crd validation rules
2024-02-27 18:45:57 -08:00
Kubernetes Prow Robot
cb989b84c8
Merge pull request #123424 from haircommander/image-gc-beta
Promote ImageMaximumGCAge to beta
2024-02-27 16:47:36 -08:00
Kubernetes Prow Robot
72c92e975d
Merge pull request #123411 from hunshcn/fix/volume-link
fix persistent volume docs link
2024-02-27 16:47:27 -08:00
Kubernetes Prow Robot
02306739ab
Merge pull request #122451 from Songjoy/master
remove duplicated check on validateTokenRequests for new object
2024-02-27 16:47:13 -08:00
Sean Sullivan
03812ddb16 streamtranslator counter metric by status code 2024-02-27 23:21:55 +00:00
Kubernetes Prow Robot
236f1b0f6b
Merge pull request #123540 from enj/enj/i/jwt_iss
jwt: strictly support compact serialization only
2024-02-27 15:19:01 -08:00
Monis Khan
e89dddd4af
jwt: strictly support compact serialization only
Signed-off-by: Monis Khan <mok@microsoft.com>
2024-02-27 17:16:08 -05:00
Kubernetes Prow Robot
b63e991b57
Merge pull request #123216 from giuseppe/runtime-handler-cri
KEP-127: require userns support from the CRI runtime before using it
2024-02-27 14:15:03 -08:00
Kubernetes Prow Robot
12771ce773
Merge pull request #122493 from mengjiao-liu/fix-cronjob-error
cronjob: fix incorrect error checking
2024-02-27 14:14:54 -08:00
Jiahui Feng
dc4c92f5a5 add support for map
to CEL mutation library.
2024-02-27 13:55:08 -08:00
Michał Woźniak
3852d1c0c1
Make explicit check in CronJob if Job is successful before setting LastSuccessfulTime (#123380)
* Make explicit check in CronJob if Job is successful

before setting LastSuccessfulTime

* Review remarks for the CronJob

Co-authored-by: Filip Křepinský <fkrepins@redhat.com>

---------

Co-authored-by: Filip Křepinský <fkrepins@redhat.com>
2024-02-27 13:09:43 -08:00
Kubernetes Prow Robot
1853de77b2
Merge pull request #122874 from fusida/fix-kcm-panic
fix node lifecycle controller panic when conditionType ready is nil
2024-02-27 13:09:34 -08:00
Peter Hunt
cb39dfc9de Promote ImageMaximumGCAge to beta
and set to be on by default, adapting e2e tests for it

Signed-off-by: Peter Hunt <pehunt@redhat.com>
2024-02-27 15:11:45 -05:00
Lukasz Szaszkiewicz
ecaf2093f5 storage/watch_cache: rework getAllEventsSinceLocked 2024-02-27 14:26:46 +01:00
Lukasz Szaszkiewicz
d629d3fa35 storage/cacher: add TestGetWatchCacheResourceVersion, TestGetBookmarkAfterResourceVersionLockedFunc 2024-02-27 14:26:41 +01:00
Lukasz Szaszkiewicz
f90bcf649e storage/cacher: ensure the cache is at the Most Recent ResourceVersion when streaming was requested 2024-02-27 14:26:36 +01:00
Kubernetes Prow Robot
12217672a3
Merge pull request #123358 from pacoxu/fix-cri-stats-panic
fix panic in CRI stats of windows
2024-02-27 05:14:58 -08:00
Kubernetes Prow Robot
47c92e2ab7
Merge pull request #123521 from pohly/dra-e2e-structure
dra e2e: fix stack unwinding in helper function
2024-02-27 03:14:40 -08:00