Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update sigs.k8s.io/controller-runtime@v0.16.3 #32328

Open
22 of 32 tasks
danilo-gemoli opened this issue Mar 28, 2024 · 7 comments
Open
22 of 32 tasks

Update sigs.k8s.io/controller-runtime@v0.16.3 #32328

danilo-gemoli opened this issue Mar 28, 2024 · 7 comments
Labels
kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. sig/testing Categorizes an issue or PR as relevant to SIG Testing.

Comments

@danilo-gemoli
Copy link
Contributor

danilo-gemoli commented Mar 28, 2024

We haven't been updating Prow modules for a long time, and the more we wait the harder it becomes. I want to propose an update plan to bump the sigs.k8s.io/controller-runtime module, a critical one, to v0.16.3. The reason why I chose v0.16.3 has been discussed on Slack, here.
A simple:

$ go get sigs.k8s.io/controller-runtime@v0.16.3
$ go mod tidy
$ go mod vendor

isn't an option as we would pull/upgrade a lot of modules, with a consequence of facing compilation errors and, maybe, some regressions too.

The idea then is find out which dependencies the controller-runtime would require and bump each singularly, in its own PR, even if I hope we will aggregate more into a single one.
The command go get enables tracing via the -x option, it allow us to see what modules it is going to update:

$ go get -x sigs.k8s.io/controller-runtime@v0.16.3 2>&1 | grep -E '^(go: added)|(go: upgraded)'
go: upgraded github.com/emicklei/go-restful/v3 v3.9.0 => v3.11.0
go: upgraded github.com/evanphx/json-patch v4.12.0+incompatible => v5.6.0+incompatible
go: upgraded github.com/fsnotify/fsnotify v1.5.1 => v1.6.0
go: upgraded github.com/go-kit/log v0.2.0 => v0.2.1
go: upgraded github.com/go-logr/zapr v1.2.3 => v1.2.4
go: upgraded github.com/go-openapi/jsonreference v0.20.1 => v0.20.2
go: added github.com/google/gnostic-models v0.6.8
go: upgraded github.com/prometheus/client_golang v1.13.0 => v1.16.0
go: upgraded github.com/prometheus/client_model v0.3.0 => v0.4.0
go: upgraded github.com/prometheus/common v0.37.0 => v0.44.0
go: upgraded github.com/prometheus/procfs v0.8.0 => v0.10.1
go: upgraded go.uber.org/multierr v1.8.0 => v1.11.0
go: upgraded go.uber.org/zap v1.24.0 => v1.25.0
go: upgraded golang.org/x/crypto v0.9.0 => v0.14.0
go: upgraded golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6 => v0.0.0-20220722155223-a9213eeb770e
go: upgraded golang.org/x/net v0.10.0 => v0.17.0
go: upgraded golang.org/x/sys v0.8.0 => v0.13.0
go: upgraded golang.org/x/term v0.8.0 => v0.13.0
go: upgraded golang.org/x/text v0.9.0 => v0.13.0
go: upgraded golang.org/x/tools v0.8.0 => v0.9.3
go: upgraded gomodules.xyz/jsonpatch/v2 v2.2.0 => v2.4.0
go: upgraded google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 => v0.0.0-20230526161137-0005af68ea54
go: upgraded k8s.io/api v0.25.9 => v0.28.3
go: upgraded k8s.io/apiextensions-apiserver v0.25.4 => v0.28.3
go: upgraded k8s.io/apimachinery v0.26.5 => v0.28.3
go: upgraded k8s.io/client-go v0.25.9 => v0.28.3
go: upgraded k8s.io/code-generator v0.25.9 => v0.28.3
go: upgraded k8s.io/component-base v0.25.4 => v0.28.3
go: upgraded k8s.io/klog/v2 v2.90.1 => v2.100.1
go: upgraded k8s.io/kube-openapi v0.0.0-20230308215209-15aac26d736a => v0.0.0-20230717233707-2695361300d9
go: upgraded k8s.io/utils v0.0.0-20230209194617-a36077c30491 => v0.0.0-20230406110748-d93618cff8a2
go: upgraded sigs.k8s.io/controller-runtime v0.12.3 => v0.16.3

I have tried already and bumping each of those individually is the same of running go get -x sigs.k8s.io/controller-runtime@v0.16.3 in the first place.

I will track here in this post what has been done so far:

  • chore: update deps for sigs.k8s.io/controller-runtime@v0.16.3 - step 1 kubernetes-sigs/prow#106
    • github.com/emicklei/go-restful/v3@v3.11.0
    • github.com/evanphx/json-patch@v5.6.0+incompatible
    • github.com/fsnotify/fsnotify@v1.6.0
    • github.com/go-kit/log@v0.2.1
    • github.com/go-logr/zapr@v1.2.4
    • github.com/go-openapi/jsonreference@v0.20.2
    • github.com/google/gnostic-models@v0.6.8
  • chore: update deps for sigs.k8s.io/controller-runtime@v0.16.3 - step 2 kubernetes-sigs/prow#128
    • github.com/prometheus/client_golang@v1.16.0
    • github.com/prometheus/client_model@v0.4.0
    • github.com/prometheus/common@v0.44.0
    • github.com/prometheus/procfs@v0.10.1
    • go.uber.org/multierr@v1.11.0
    • go.uber.org/zap@v1.25.0
    • golang.org/x/crypto@v0.14.0
    • golang.org/x/exp@v0.0.0-20220722155223-a9213eeb770e
    • golang.org/x/net@v0.17.0
    • golang.org/x/sys@v0.13.0
    • golang.org/x/term@v0.13.0
    • golang.org/x/text@v0.13.0
    • golang.org/x/tools@v0.9.3
    • gomodules.xyz/jsonpatch/v2@v2.4.0
    • google.golang.org/genproto@v0.0.0-20230526161137-0005af68ea54
  • Remaining:
    • k8s.io/api@v0.28.3
    • k8s.io/apiextensions-apiserver@v0.28.3
    • k8s.io/apimachinery@v0.28.3
    • k8s.io/client-go@v0.28.3
    • k8s.io/code-generator@v0.28.3
    • k8s.io/component-base@v0.28.3
    • k8s.io/klog/v2@v2.100.1
    • k8s.io/kube-openapi@v0.0.0-20230717233707-2695361300d9
    • k8s.io/utils@v0.0.0-20230406110748-d93618cff8a2
    • sigs.k8s.io/controller-runtime@v0.16.3
@danilo-gemoli danilo-gemoli added the kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. label Mar 28, 2024
@k8s-ci-robot k8s-ci-robot added the needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. label Mar 28, 2024
@danilo-gemoli
Copy link
Contributor Author

/sig testing

@k8s-ci-robot k8s-ci-robot added sig/testing Categorizes an issue or PR as relevant to SIG Testing. and removed needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Mar 28, 2024
@deepsm007
Copy link
Contributor

Interested to contribute on this

@droslean
Copy link
Member

I don't feel safe enough to upgrade this library without e2e tests. Can we make sure that we test it somehow?

@danilo-gemoli
Copy link
Contributor Author

We can definitely think about some additional tests to add.

@ovidiutirla
Copy link
Contributor

ovidiutirla commented Mar 28, 2024

I'm also interested in contributing to this. Let me know if you already tackled the other modules or if you're happy for me to pick some of them.

@danilo-gemoli
Copy link
Contributor Author

@deepsm007 @ovidiutirla thanks for the help guys. We are going to proceed in order, so you'll have to rebase your PRs by the time mine gets in.

@xrstf
Copy link
Contributor

xrstf commented Apr 21, 2024

I'm interested in helping out here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. sig/testing Categorizes an issue or PR as relevant to SIG Testing.
Projects
None yet
Development

No branches or pull requests

6 participants