Bump multus-cni to Kube 1.35 and Go to 1.25#1487
Bump multus-cni to Kube 1.35 and Go to 1.25#1487yingwang-0320 wants to merge 4 commits intok8snetworkplumbingwg:masterfrom
Conversation
Signed-off-by: Ying Wang <yingwang@rehat.com>
Signed-off-by: Ying Wang <yingwang@rehat.com>
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request modernizes the project's development environment and external dependencies. It updates the core Go language version, refreshes numerous third-party libraries, and refines testing infrastructure. These changes collectively improve the project's stability, performance, and maintainability by aligning it with current best practices and addressing compatibility challenges with newer versions of critical components like Kubernetes. Highlights
Changelog
Ignored Files
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request bumps the Go version to 1.25.0 and updates several dependencies, most notably the Kubernetes client libraries to a version compatible with Kube 1.35. The changes also include removing the gogo/protobuf dependency, which is a positive step for long-term maintainability.
The code modifications in pkg/multus/multus_cni100_test.go correctly address test failures resulting from the Kubernetes client-go upgrade. The removal of WaitForCacheSync and the manual population of informer caches for fake clients are appropriate fixes for the issues encountered with newer versions of the client library. The accompanying comments clearly explain the reasoning behind these changes.
The Dockerfiles have been updated to use the new Go version, ensuring consistency. The extensive changes in the vendor directory are expected as part of the dependency update.
Overall, the changes are well-executed and necessary for keeping the project up-to-date with its dependencies. I have found one minor issue in a vendored Makefile which should be addressed.
|
|
||
| GO_VERSION ?= $(shell $(GO) version) | ||
| GO_VERSION_NUMBER ?= $(word 3, $(GO_VERSION)) | ||
| GO_VERSION_NUMBER ?= $(word 3, $(GO_VERSION))Error Parsing File |
There was a problem hiding this comment.
1049b61 to
e7158ab
Compare
…00_test.go Signed-off-by: Ying Wang <yingwang@rehat.com>
e7158ab to
33e7e49
Compare
Signed-off-by: Ying Wang <yingwang@rehat.com>
|
@bpickard22 @pliurh can you please help review? |
|
/assign @bpickard22 |
|
/retitle Bump multus-cni to Kube 1.35 |
|
@yingwang-0320 please refrain from referring to downstream issues in upstream pr titles |
|
lgtm |
Got it, thank you for the retitle. |
-> rg 'k8s.io|openshift' go.mod | rg -v 'indirect|module' | awk '{print "go get -u",$1}'
go get -u k8s.io/api
go get -u k8s.io/apimachinery
go get -u k8s.io/client-go
go get -u k8s.io/klog
go get -u k8s.io/klog/v2
go get -u k8s.io/kubelet
-> rg 'k8s.io|openshift' go.mod | rg -v 'indirect|module' | awk '{print "go get -u",$1}' | sh
-> go mod tidy
-> go mod vendor
-> make build
-> make test
-> e2e test passed
fixed make test failure: failed to sync pod informer cache.