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 dependencies to Kubernetes v1.25.3 #606
Conversation
324960f
to
81a8eac
Compare
81a8eac
to
5dcffd5
Compare
19cf2c2
to
fbbf2bb
Compare
4f027e8
to
c7d5f48
Compare
c7d5f48
to
8e4e5da
Compare
This is ready for review. |
58ee485
to
68ecdbf
Compare
/retest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/approve
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ash2k, mortent The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Upgrading k8s libs is always a bit risky... For kpt & config-sync we're officially required to maintain compatibility with the last 3 Anthos/GKE minor versions, but the release channels still support the last 6 minor versions, and kubectl only officially supports the last 3 minor versions... Practically speaking, the interfaces exposed by the k8s libraries aren't actually always reverse compatible tho, and they often require changes when you upgrade. So even if we didn't run into that here, a downstream consumer might not have an easy job of it. For example, we've had cases where interfaces were replaced/refactored and the new version no longer did what we used the old one for. We've also been sort of unofficially putting off upgrading the version of Go, just to make sure no one adds usage of any reverse incompatible features (namely generics) that would require all downstream projects to also upgrade to the latest version of Go. But we haven't really discussed when it's safe to upgrade or when it's safe to start using generics. That said, I hate to say no to upgrading... Let me see if I can get someone to attempt to upgrade kpt and config-sync and see if those are going to run into any serious problems before we merge this. |
@karlkfi friendly ping :) |
Yeah, sorry. We’re all kind drowning in broken and flakey e2e tests in config-sync and kpt right now. I haven’t found anyone with spare bandwidth to validate the upgrade yet. |
Alright. I asked @rquitales to validate K8s v1.25 in kpt and ConfigSync and it looks like we also need to update Go to at least 1.18 and probably also golinter, but we don't want to do it all at the same time. So @rquitales is working on a Go 1.18 bump for cli-utils, and then a seperate golangci-lint update, either to the latest 1.49 or 1.50, depending on what changed upstream. Once that's done, either you can rebase this PR or @rquitales can make one that has just the k8s 1.25 changes in it. We decided to stay at Go 1.18 for a while, instead of going to 1.19, just so downstream users of cli-utils and kpt aren't forced to upgrade, and so we don't accidentally use new 1.19 features that would force using 1.19 to compile. We'll probably eventually upgrade to 1.19, just not right now. Maybe when 1.20 come out. |
@karlkfi Thanks for the update.
I personally don't mind using 1.18 but Kubernetes 1.25 uses 1.19 and that's why I bumped the build here to 1.19 too. So, I guess, if you want to go back, make sure to also downgrade the build. I don't know if 1.25 builds fine with 1.18, it may. |
68ecdbf
to
6e8a8a2
Compare
6e8a8a2
to
f2726e0
Compare
f2726e0
to
7f1d7db
Compare
/lgtm |
No description provided.