Skip to content

Commit 0374580

Browse files
committed
Bump go-controller go v1.23, k8s v1.32.3 and linter
go get k8s.io/[email protected] go get k8s.io/[email protected] go get k8s.io/[email protected] go get k8s.io/[email protected] go get k8s.io/[email protected] go get k8s.io/[email protected] go get sigs.k8s.io/[email protected] go mod tidy go mod vendor GO version was bumped to v1.23, aligned linter version. Had to move away from giantswarm since it was no longer providing useful v1.23 images and it's unknown to me why we would not be using a more official image anyway. Had to bump metallb to v0.14.8 as it would no longer build otherwise. kind was updated to v0.27 and kindest/node to v1.32.3 as well. kindest/node v1.32+ is only compatible with kind v0.27+ but metallb relies on their own incompatible build of kind so had to patch it to use our kind installation. Fixed lint issues. Updated contrib/kind.sh, CI e2e manifests and codegen. Signed-off-by: Jaime Caamaño Ruiz <[email protected]>
1 parent 140224c commit 0374580

File tree

1,741 files changed

+56074
-81953
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,741 files changed

+56074
-81953
lines changed

.github/workflows/docker.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ permissions:
99
packages: write
1010

1111
env:
12-
GO_VERSION: 1.22.0
12+
GO_VERSION: 1.23
1313
REGISTRY: ghcr.io
1414
OWNER: ovn-kubernetes
1515
REPOSITORY: ovn-kubernetes

.github/workflows/test.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ concurrency:
1616
cancel-in-progress: true
1717

1818
env:
19-
GO_VERSION: 1.22.0
20-
K8S_VERSION: v1.31.0
19+
GO_VERSION: 1.23
20+
K8S_VERSION: v1.32.3
2121
KIND_CLUSTER_NAME: ovn
2222
KIND_INSTALL_INGRESS: true
2323
KIND_ALLOW_SYSTEM_WRITES: true
@@ -54,7 +54,7 @@ jobs:
5454
- name: Verify
5555
uses: golangci/golangci-lint-action@v6
5656
with:
57-
version: v1.59.1
57+
version: v1.60.3
5858
working-directory: go-controller
5959
args: --modules-download-mode=vendor --timeout=15m0s --verbose
6060

contrib/kind-common

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,10 +122,11 @@ install_ingress() {
122122

123123
METALLB_DIR="/tmp/metallb"
124124
install_metallb() {
125-
# TODO: Pin to a version tag bigger than v0.14.8 when released
126-
# so we can have a metallb dev-env that support dual stack
127-
# and use a proper tag instead of a commit id.
128-
local metallb_version=55f648102b918699da610f20e8d650e76c7561fc
125+
# Tested v0.4.19 but ran into a couple of issues
126+
# https://github.com/metallb/metallb/issues/2723
127+
# https://github.com/metallb/metallb/issues/2724
128+
# We could probably work around them but let's comfortably stay in v0.4.18
129+
local metallb_version=v0.14.8
129130
mkdir -p /tmp/metallb
130131
local builddir
131132
builddir=$(mktemp -d "${METALLB_DIR}/XXXXXX")
@@ -134,6 +135,23 @@ install_metallb() {
134135
git clone https://github.com/metallb/metallb.git
135136
cd metallb
136137
git checkout $metallb_version
138+
139+
# kindest/node image v1.32+ that we use is only compatible with kind v0.27+
140+
# when using 'kind load' command however metallb builds and uses older
141+
# incompatible kind version patch it so that it uses our own kind install
142+
# instead of their build
143+
patch tasks.py << 'EOF'
144+
@@ -34,7 +34,7 @@ extra_network = "network2"
145+
controller_gen_version = "v0.14.0"
146+
build_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "build")
147+
kubectl_path = os.path.join(build_path, "kubectl")
148+
-kind_path = os.path.join(build_path, "kind")
149+
+kind_path = "kind"
150+
controller_gen_path = os.path.join(build_path, "bin", "controller-gen")
151+
kubectl_version = "v1.27.0"
152+
kind_version = "v0.23.0"
153+
EOF
154+
137155
pip install -r dev-env/requirements.txt
138156

139157
local ip_family ipv6_network

contrib/kind.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -529,7 +529,7 @@ set_default_params() {
529529
fi
530530
RUN_IN_CONTAINER=${RUN_IN_CONTAINER:-false}
531531
KIND_IMAGE=${KIND_IMAGE:-kindest/node}
532-
K8S_VERSION=${K8S_VERSION:-v1.31.1}
532+
K8S_VERSION=${K8S_VERSION:-v1.32.3}
533533
OVN_GATEWAY_MODE=${OVN_GATEWAY_MODE:-shared}
534534
KIND_INSTALL_INGRESS=${KIND_INSTALL_INGRESS:-false}
535535
KIND_INSTALL_METALLB=${KIND_INSTALL_METALLB:-false}

docs/ci/ci.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ and set the environmental variable `K8S_VERSION` to the same value. Also make su
119119
your go directory with `export GOPATH=(...)`.
120120

121121
```
122-
K8S_VERSION=v1.31.0
122+
K8S_VERSION=v1.32.3
123123
git clone --single-branch --branch $K8S_VERSION https://github.com/kubernetes/kubernetes.git $GOPATH/src/k8s.io/kubernetes/
124124
pushd $GOPATH/src/k8s.io/kubernetes/
125125
make WHAT="test/e2e/e2e.test vendor/github.com/onsi/ginkgo/ginkgo cmd/kubectl"

docs/installation/launching-ovn-kubernetes-on-kind.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -370,14 +370,14 @@ sudo ln -s /usr/bin/kubectl-v1.17.3 /usr/bin/kubectl
370370
Download and install latest version of `kubectl`:
371371

372372
```
373-
$ K8S_VERSION=v1.31.0
373+
$ K8S_VERSION=v1.32.3
374374
$ curl -LO https://storage.googleapis.com/kubernetes-release/release/$K8S_VERSION/bin/linux/amd64/kubectl
375375
$ chmod +x kubectl
376376
$ sudo mv kubectl /usr/bin/kubectl-$K8S_VERSION
377377
$ sudo rm /usr/bin/kubectl
378378
$ sudo ln -s /usr/bin/kubectl-$K8S_VERSION /usr/bin/kubectl
379379
$ kubectl version --client
380-
Client Version: v1.31.0
380+
Client Version: v1.32.3
381381
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
382382
```
383383

@@ -426,7 +426,7 @@ $ cd ../dist/images/
426426
$ make fedora
427427
428428
$ cd ../../contrib/
429-
$ KIND_IPV4_SUPPORT=true KIND_IPV6_SUPPORT=true K8S_VERSION=v1.31.0 ./kind.sh
429+
$ KIND_IPV4_SUPPORT=true KIND_IPV6_SUPPORT=true K8S_VERSION=v1.32.3 ./kind.sh
430430
```
431431

432432
Once `kind.sh` completes, setup kube config file:
@@ -452,7 +452,7 @@ one (or both of) the following variables:
452452

453453
```
454454
$ cd ../../contrib/
455-
$ KIND_IMAGE=example.com/kindest/node K8S_VERSION=v1.31.0 ./kind.sh
455+
$ KIND_IMAGE=example.com/kindest/node K8S_VERSION=v1.32.3 ./kind.sh
456456
```
457457

458458
### Using kind local registry to deploy non ovn-k containers

go-controller/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ PKGS ?=
1111
GOPATH ?= $(shell go env GOPATH)
1212
TEST_REPORT_DIR?=$(CURDIR)/_artifacts
1313
export TEST_REPORT_DIR
14-
GO_VERSION ?= 1.22.0
15-
GO_DOCKER_IMG = quay.io/giantswarm/golang:${GO_VERSION}
14+
GO_VERSION ?= 1.23
15+
GO_DOCKER_IMG = quay.io/lib/golang:${GO_VERSION}
1616
# CONTAINER_RUNNABLE determines if the tests can be run inside a container. It checks to see if
1717
# podman/docker is installed on the system.
1818
PODMAN ?= $(shell podman -v > /dev/null 2>&1; echo $$?)

go-controller/go.mod

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
module github.com/ovn-org/ovn-kubernetes/go-controller
22

3-
go 1.22.0
3+
go 1.23.0
4+
5+
toolchain go1.23.6
46

57
require (
68
github.com/Microsoft/hcsshim v0.9.6
@@ -31,8 +33,8 @@ require (
3133
github.com/miekg/dns v1.1.31
3234
github.com/mitchellh/copystructure v1.2.0
3335
github.com/moby/sys/userns v0.1.0
34-
github.com/onsi/ginkgo/v2 v2.19.0
35-
github.com/onsi/gomega v1.33.1
36+
github.com/onsi/ginkgo/v2 v2.22.0
37+
github.com/onsi/gomega v1.36.1
3638
github.com/openshift/api v0.0.0-20231120222239-b86761094ee3
3739
github.com/openshift/client-go v0.0.0-20231121143148-910ca30a1a9a
3840
github.com/ovn-org/libovsdb v0.7.1-0.20240820095311-ce1951614a20
@@ -42,35 +44,35 @@ require (
4244
github.com/spf13/afero v1.9.5
4345
github.com/stretchr/testify v1.9.0
4446
github.com/urfave/cli/v2 v2.27.2
45-
github.com/vishvananda/netlink v1.2.1-beta.2.0.20231024175852-77df5d35f725
46-
golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8
47-
golang.org/x/net v0.26.0
48-
golang.org/x/sync v0.7.0
49-
golang.org/x/sys v0.21.0
50-
golang.org/x/time v0.5.0
47+
github.com/vishvananda/netlink v1.3.1-0.20250206174618-62fb240731fa
48+
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56
49+
golang.org/x/net v0.30.0
50+
golang.org/x/sync v0.8.0
51+
golang.org/x/sys v0.26.0
52+
golang.org/x/time v0.7.0
5153
google.golang.org/grpc v1.65.0
5254
google.golang.org/grpc/security/advancedtls v0.0.0-20240425232638-1e8b9b7fc655
53-
google.golang.org/protobuf v1.34.2
55+
google.golang.org/protobuf v1.35.1
5456
gopkg.in/fsnotify/fsnotify.v1 v1.4.7
5557
gopkg.in/gcfg.v1 v1.2.3
5658
gopkg.in/natefinch/lumberjack.v2 v2.2.1
57-
k8s.io/api v0.31.1
58-
k8s.io/apimachinery v0.31.1
59-
k8s.io/client-go v0.31.1
60-
k8s.io/component-helpers v0.31.1
59+
k8s.io/api v0.32.3
60+
k8s.io/apimachinery v0.32.3
61+
k8s.io/client-go v0.32.3
62+
k8s.io/component-helpers v0.32.3
6163
k8s.io/klog/v2 v2.130.1
62-
k8s.io/kubernetes v1.31.1
63-
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8
64+
k8s.io/kubernetes v1.32.3
65+
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738
6466
kubevirt.io/api v1.0.0-alpha.0
65-
sigs.k8s.io/controller-runtime v0.19.0
67+
sigs.k8s.io/controller-runtime v0.20.3
6668
sigs.k8s.io/knftables v0.0.18
6769
sigs.k8s.io/network-policy-api v0.1.5
68-
sigs.k8s.io/structured-merge-diff/v4 v4.4.1
70+
sigs.k8s.io/structured-merge-diff/v4 v4.4.2
6971
sigs.k8s.io/yaml v1.4.0
7072
)
7173

7274
require (
73-
github.com/Microsoft/go-winio v0.6.0 // indirect
75+
github.com/Microsoft/go-winio v0.6.2 // indirect
7476
github.com/beorn7/perks v1.0.1 // indirect
7577
github.com/cenkalti/hub v1.0.1 // indirect
7678
github.com/cenkalti/rpc2 v0.0.0-20210604223624-c1acbc6ec984 // indirect
@@ -79,7 +81,7 @@ require (
7981
github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
8082
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
8183
github.com/emicklei/go-restful/v3 v3.12.1 // indirect
82-
github.com/evanphx/json-patch/v5 v5.9.0 // indirect
84+
github.com/evanphx/json-patch/v5 v5.9.11 // indirect
8385
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
8486
github.com/go-openapi/jsonpointer v0.21.0 // indirect
8587
github.com/go-openapi/jsonreference v0.21.0 // indirect
@@ -88,11 +90,11 @@ require (
8890
github.com/gogo/protobuf v1.3.2 // indirect
8991
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
9092
github.com/golang/protobuf v1.5.4 // indirect
93+
github.com/google/btree v1.1.3 // indirect
9194
github.com/google/gnostic-models v0.6.8 // indirect
9295
github.com/google/gofuzz v1.2.0 // indirect
93-
github.com/google/pprof v0.0.0-20240525223248-4bfdf5a9a2af // indirect
96+
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db // indirect
9497
github.com/gorilla/websocket v1.5.0 // indirect
95-
github.com/imdario/mergo v0.3.16 // indirect
9698
github.com/josharian/intern v1.0.0 // indirect
9799
github.com/josharian/native v1.0.0 // indirect
98100
github.com/json-iterator/go v1.1.12 // indirect
@@ -103,7 +105,7 @@ require (
103105
github.com/mdlayher/packet v1.0.0 // indirect
104106
github.com/mdlayher/socket v0.2.1 // indirect
105107
github.com/mitchellh/reflectwalk v1.0.2 // indirect
106-
github.com/moby/spdystream v0.4.0 // indirect
108+
github.com/moby/spdystream v0.5.0 // indirect
107109
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
108110
github.com/modern-go/reflect2 v1.0.2 // indirect
109111
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
@@ -122,25 +124,23 @@ require (
122124
github.com/x448/float16 v0.8.4 // indirect
123125
github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913 // indirect
124126
go.opencensus.io v0.24.0 // indirect
125-
golang.org/x/crypto v0.24.0 // indirect
126-
golang.org/x/mod v0.18.0 // indirect
127-
golang.org/x/oauth2 v0.21.0 // indirect
128-
golang.org/x/term v0.21.0 // indirect
129-
golang.org/x/text v0.16.0 // indirect
130-
golang.org/x/tools v0.22.0 // indirect
127+
golang.org/x/crypto v0.28.0 // indirect
128+
golang.org/x/oauth2 v0.23.0 // indirect
129+
golang.org/x/term v0.25.0 // indirect
130+
golang.org/x/text v0.19.0 // indirect
131+
golang.org/x/tools v0.26.0 // indirect
131132
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
132-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 // indirect
133+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240826202546-f6391c0de4c7 // indirect
133134
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
134135
gopkg.in/inf.v0 v0.9.1 // indirect
135136
gopkg.in/warnings.v0 v0.1.2 // indirect
136-
gopkg.in/yaml.v2 v2.4.0 // indirect
137137
gopkg.in/yaml.v3 v3.0.1 // indirect
138-
k8s.io/apiextensions-apiserver v0.31.1 // indirect
139-
k8s.io/component-base v0.31.1 // indirect
140-
k8s.io/kube-openapi v0.0.0-20240521193020-835d969ad83a // indirect
138+
k8s.io/apiextensions-apiserver v0.32.3 // indirect
139+
k8s.io/component-base v0.32.3 // indirect
140+
k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f // indirect
141141
kubevirt.io/containerized-data-importer-api v1.55.0 // indirect
142142
kubevirt.io/controller-lifecycle-operator-sdk/api v0.0.0-20220329064328-f3cc58c6ed90 // indirect
143-
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
143+
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
144144
)
145145

146146
replace (

0 commit comments

Comments
 (0)