kubernetes-sigs / vsphere-csi-driver

vSphere storage Container Storage Interface (CSI) plugin
https://docs.vmware.com/en/VMware-vSphere-Container-Storage-Plug-in/index.html
Apache License 2.0
296 stars 179 forks source link

Update GoLang version to 1.22 and /x/net to 0.24.0 #2867

Closed chethanv28 closed 3 months ago

chethanv28 commented 5 months ago

What this PR does / why we need it: Update GoLang version to 1.22 and /x/net to 0.24.0 Resolves CVE: https://nvd.nist.gov/vuln/detail/CVE-2023-45288

Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #

Testing done:

make images succeeded

$ go version
go version go1.22.0 darwin/amd64

$ make images

hack/release.sh
+ DO_WINDOWS_BUILD=true
+ readonly BASE_IMAGE_REPO=gcr.io/cloud-provider-vsphere
+ BASE_IMAGE_REPO=gcr.io/cloud-provider-vsphere
+ readonly CSI_IMAGE_RELEASE=gcr.io/cloud-provider-vsphere/csi/release/driver
+ CSI_IMAGE_RELEASE=gcr.io/cloud-provider-vsphere/csi/release/driver
...
...

$ docker images
REPOSITORY                                                TAG                          IMAGE ID       CREATED          SIZE
gcr.io/cloud-provider-vsphere/csi/ci/syncer               v3.2.0-rc.1-1930-gc642d3c5   cca8cef374f5   41 minutes ago   98.1MB
gcr.io/cloud-provider-vsphere/csi/ci/driver-linux-amd64   v3.2.0-rc.1-1930-gc642d3c5   10f7caf041f2   46 minutes ago   251MB

e2e pipeline results: https://github.com/kubernetes-sigs/vsphere-csi-driver/pull/2867#issuecomment-2096974895

Special notes for your reviewer:

Release note:

Update GoLang version to 1.22 and /x/net to 0.24.0
svcbot-qecnsdp commented 5 months ago

Started Vanilla block pre-checkin pipeline... Build Number: 2750

svcbot-qecnsdp commented 5 months ago

Started Vanilla block pre-checkin pipeline... Build Number: 7

svcbot-qecnsdp commented 5 months ago

Started Vanilla block pre-checkin pipeline... Build Number: 8

svcbot-qecnsdp commented 5 months ago

Started Vanilla block pre-checkin pipeline... Build Number: 2753

svcbot-qecnsdp commented 5 months ago

Started Vanilla block pre-checkin pipeline... Build Number: 2754

svcbot-qecnsdp commented 5 months ago

Started Vanilla block pre-checkin pipeline... Build Number: 2755

svcbot-qecnsdp commented 5 months ago

Started Vanilla block pre-checkin pipeline... Build Number: 2758

svcbot-qecnsdp commented 5 months ago
Build ID: 2758
Block vanilla build status: SUCCESS 
Stage before exit: e2e-tests 
Jenkins E2E Test Results: 
------------------------------

Ran 1 of 848 Specs in 83.326 seconds
SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 847 Skipped
PASS

Ginkgo ran 1 suite in 2m22.933643231s
Test Suite Passed
xing-yang commented 5 months ago

/approve

akankshapanse commented 5 months ago

/approve

adikul30 commented 5 months ago

/approve

k8s-ci-robot commented 5 months ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: adikul30, akankshapanse, chethanv28, xing-yang

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: - ~~[OWNERS](https://github.com/kubernetes-sigs/vsphere-csi-driver/blob/master/OWNERS)~~ [adikul30,chethanv28,xing-yang] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
adikul30 commented 5 months ago

/ok-to-test

adikul30 commented 5 months ago

@chethanv28, can you paste make check output as well? Since no .go file is changed, that test was not triggered on the PR but sometimes it could throw errors while bumping up go versions

divyenpatel commented 5 months ago

@chethanv28 Can you make some go file changes in this PR and confirm linters are not failing due to upgrade of golang?

chethanv28 commented 5 months ago

@chethanv28, can you paste make check output as well? Since no .go file is changed, that test was not triggered on the PR but sometimes it could throw errors while bumping up go versions

$ make check

hack/check-format.sh
hack/check-mdlint.sh
Unable to find image 'gcr.io/cluster-api-provider-vsphere/extra/mdlint:0.23.2' locally
0.23.2: Pulling from cluster-api-provider-vsphere/extra/mdlint
4000adbbc3eb: Pull complete 
69e2f037cdb3: Pull complete 
3e010093287c: Pull complete 
e9675f44a17f: Pull complete 
fb428da72d0c: Pull complete 
55cf2dd1eb3a: Pull complete 
Digest: sha256:b07f41d2daae397af80250e69575c84e5aa9d9a4b334af890e3dc508a25065e9
Status: Downloaded newer image for gcr.io/cluster-api-provider-vsphere/extra/mdlint:0.23.2
hack/check-shell.sh
Unable to find image 'gcr.io/cluster-api-provider-vsphere/extra/shellcheck:v0.7.1' locally
v0.7.1: Pulling from cluster-api-provider-vsphere/extra/shellcheck
75cb2ebf3b3c: Pull complete 
d8cc84507434: Pull complete 
cd376a308b24: Pull complete 
7852a05dcd82: Pull complete 
Digest: sha256:23b8cfc08f7279f334fc60dcf3d60f9e9889f1bb14e8268cf045e89d3abf64cc
Status: Downloaded newer image for gcr.io/cluster-api-provider-vsphere/extra/shellcheck:v0.7.1
hack/check-staticcheck.sh
+ go version
go version go1.22.0 darwin/amd64
++ dirname hack/check-staticcheck.sh
+ cd hack/..
+ go install honnef.co/go/tools/cmd/staticcheck@2023.1
++ go env GOPATH
+ GOOS=linux
+ /Users/chethanv/go/bin/staticcheck --version
staticcheck 2023.1 (v0.4.0)
++ go env GOPATH
++ go list ./...
++ grep -v /vendor/
+ GOOS=linux
+ /Users/chethanv/go/bin/staticcheck sigs.k8s.io/vsphere-csi-driver/v3/cmd/syncer sigs.k8s.io/vsphere-csi-driver/v3/cmd/vsphere-csi sigs.k8s.io/vsphere-csi-driver/v3/pkg/apis/cnsoperator sigs.k8s.io/vsphere-csi-driver/v3/pkg/apis/cnsoperator/cnsfileaccessconfig/v1alpha1 sigs.k8s.io/vsphere-csi-driver/v3/pkg/apis/cnsoperator/cnsnodevmattachment/v1alpha1 sigs.k8s.io/vsphere-csi-driver/v3/pkg/apis/cnsoperator/cnsregistervolume/v1alpha1 sigs.k8s.io/vsphere-csi-driver/v3/pkg/apis/cnsoperator/cnsvolumemetadata/v1alpha1 sigs.k8s.io/vsphere-csi-driver/v3/pkg/apis/cnsoperator/config sigs.k8s.io/vsphere-csi-driver/v3/pkg/apis/cnsoperator/storagepolicy/v1alpha1 sigs.k8s.io/vsphere-csi-driver/v3/pkg/apis/migration sigs.k8s.io/vsphere-csi-driver/v3/pkg/apis/migration/config sigs.k8s.io/vsphere-csi-driver/v3/pkg/apis/migration/v1alpha1 sigs.k8s.io/vsphere-csi-driver/v3/pkg/apis/storagepool sigs.k8s.io/vsphere-csi-driver/v3/pkg/apis/storagepool/cns sigs.k8s.io/vsphere-csi-driver/v3/pkg/apis/storagepool/cns/v1alpha1 sigs.k8s.io/vsphere-csi-driver/v3/pkg/apis/storagepool/config sigs.k8s.io/vsphere-csi-driver/v3/pkg/common/cns-lib/node sigs.k8s.io/vsphere-csi-driver/v3/pkg/common/cns-lib/volume sigs.k8s.io/vsphere-csi-driver/v3/pkg/common/cns-lib/vsphere sigs.k8s.io/vsphere-csi-driver/v3/pkg/common/config sigs.k8s.io/vsphere-csi-driver/v3/pkg/common/fault sigs.k8s.io/vsphere-csi-driver/v3/pkg/common/prometheus sigs.k8s.io/vsphere-csi-driver/v3/pkg/common/unittestcommon sigs.k8s.io/vsphere-csi-driver/v3/pkg/common/utils sigs.k8s.io/vsphere-csi-driver/v3/pkg/csi/service sigs.k8s.io/vsphere-csi-driver/v3/pkg/csi/service/common sigs.k8s.io/vsphere-csi-driver/v3/pkg/csi/service/common/commonco sigs.k8s.io/vsphere-csi-driver/v3/pkg/csi/service/common/commonco/k8sorchestrator sigs.k8s.io/vsphere-csi-driver/v3/pkg/csi/service/common/commonco/types sigs.k8s.io/vsphere-csi-driver/v3/pkg/csi/service/common/placementengine sigs.k8s.io/vsphere-csi-driver/v3/pkg/csi/service/logger sigs.k8s.io/vsphere-csi-driver/v3/pkg/csi/service/mounter sigs.k8s.io/vsphere-csi-driver/v3/pkg/csi/service/osutils sigs.k8s.io/vsphere-csi-driver/v3/pkg/csi/service/vanilla sigs.k8s.io/vsphere-csi-driver/v3/pkg/csi/service/wcp sigs.k8s.io/vsphere-csi-driver/v3/pkg/csi/service/wcpguest sigs.k8s.io/vsphere-csi-driver/v3/pkg/csi/types sigs.k8s.io/vsphere-csi-driver/v3/pkg/internalapis sigs.k8s.io/vsphere-csi-driver/v3/pkg/internalapis/cnsoperator/cnsfilevolumeclient sigs.k8s.io/vsphere-csi-driver/v3/pkg/internalapis/cnsoperator/cnsfilevolumeclient/v1alpha1 sigs.k8s.io/vsphere-csi-driver/v3/pkg/internalapis/cnsoperator/config sigs.k8s.io/vsphere-csi-driver/v3/pkg/internalapis/cnsoperator/triggercsifullsync/v1alpha1 sigs.k8s.io/vsphere-csi-driver/v3/pkg/internalapis/cnsvolumeinfo sigs.k8s.io/vsphere-csi-driver/v3/pkg/internalapis/cnsvolumeinfo/config sigs.k8s.io/vsphere-csi-driver/v3/pkg/internalapis/cnsvolumeinfo/v1alpha1 sigs.k8s.io/vsphere-csi-driver/v3/pkg/internalapis/cnsvolumeoperationrequest sigs.k8s.io/vsphere-csi-driver/v3/pkg/internalapis/cnsvolumeoperationrequest/config sigs.k8s.io/vsphere-csi-driver/v3/pkg/internalapis/cnsvolumeoperationrequest/v1alpha1 sigs.k8s.io/vsphere-csi-driver/v3/pkg/internalapis/csinodetopology sigs.k8s.io/vsphere-csi-driver/v3/pkg/internalapis/csinodetopology/config sigs.k8s.io/vsphere-csi-driver/v3/pkg/internalapis/csinodetopology/v1alpha1 sigs.k8s.io/vsphere-csi-driver/v3/pkg/internalapis/featurestates sigs.k8s.io/vsphere-csi-driver/v3/pkg/internalapis/featurestates/config sigs.k8s.io/vsphere-csi-driver/v3/pkg/internalapis/featurestates/v1alpha1 sigs.k8s.io/vsphere-csi-driver/v3/pkg/kubernetes sigs.k8s.io/vsphere-csi-driver/v3/pkg/syncer sigs.k8s.io/vsphere-csi-driver/v3/pkg/syncer/admissionhandler sigs.k8s.io/vsphere-csi-driver/v3/pkg/syncer/cnsoperator/controller sigs.k8s.io/vsphere-csi-driver/v3/pkg/syncer/cnsoperator/controller/cnsfileaccessconfig sigs.k8s.io/vsphere-csi-driver/v3/pkg/syncer/cnsoperator/controller/cnsnodevmattachment sigs.k8s.io/vsphere-csi-driver/v3/pkg/syncer/cnsoperator/controller/cnsregistervolume sigs.k8s.io/vsphere-csi-driver/v3/pkg/syncer/cnsoperator/controller/cnsvolumemetadata sigs.k8s.io/vsphere-csi-driver/v3/pkg/syncer/cnsoperator/controller/csinodetopology sigs.k8s.io/vsphere-csi-driver/v3/pkg/syncer/cnsoperator/controller/triggercsifullsync sigs.k8s.io/vsphere-csi-driver/v3/pkg/syncer/cnsoperator/manager sigs.k8s.io/vsphere-csi-driver/v3/pkg/syncer/cnsoperator/types sigs.k8s.io/vsphere-csi-driver/v3/pkg/syncer/cnsoperator/util sigs.k8s.io/vsphere-csi-driver/v3/pkg/syncer/k8scloudoperator sigs.k8s.io/vsphere-csi-driver/v3/pkg/syncer/storagepool sigs.k8s.io/vsphere-csi-driver/v3/tests/e2e
hack/check-vet.sh
hack/check-golangci-lint.sh
golangci/golangci-lint info checking GitHub for tag 'v1.57.2'
golangci/golangci-lint info found version: 1.57.2 for v1.57.2/darwin/amd64
golangci/golangci-lint info installed /Users/chethanv/go/bin/golangci-lint
INFO [config_reader] Config search paths: [./ /Users/chethanv/Downloads/csi-external/vsphere-csi-driver /Users/chethanv/Downloads/csi-external /Users/chethanv/Downloads /Users/chethanv /Users /] 
INFO [config_reader] Used config file .golangci.yml 
INFO [lintersdb] Active 8 linters: [errcheck gosimple govet ineffassign lll misspell staticcheck unused] 
INFO [loader] Go packages loading at mode 575 (imports|types_sizes|compiled_files|files|name|deps|exports_file) took 6.334393282s 
INFO [runner/filename_unadjuster] Pre-built 0 adjustments in 706.343504ms 

INFO [linters_context/goanalysis] analyzers took 51m33.42171383s with top 10 stages: buildir: 41m13.981559797s, nilness: 2m3.35616391s, fact_deprecated: 1m11.290205825s, fact_purity: 1m10.510088928s, printf: 1m6.316711758s, typedness: 1m5.73185751s, ctrlflow: 1m3.883965288s, SA5012: 53.924894403s, inspect: 28.42640504s, misspell: 4.619734907s 
INFO [runner] Issues before processing: 132, after processing: 0 
INFO [runner] Processors filtering stat (out/in): path_prettifier: 132/132, exclude: 42/42, skip_files: 132/132, exclude-rules: 1/42, filename_unadjuster: 132/132, invalid_issue: 132/132, identifier_marker: 42/42, nolint: 0/1, cgo: 132/132, skip_dirs: 132/132, autogenerated_exclude: 42/132 
INFO [runner] processing took 35.14532ms with stages: nolint: 21.723401ms, autogenerated_exclude: 8.526308ms, identifier_marker: 2.554432ms, path_prettifier: 1.27877ms, exclude-rules: 718.659µs, skip_dirs: 188.151µs, filename_unadjuster: 70.088µs, cgo: 43.427µs, invalid_issue: 37.674µs, max_same_issues: 1.162µs, uniq_by_line: 584ns, exclude: 320ns, sort_results: 310ns, diff: 277ns, fixer: 273ns, skip_files: 271ns, source_code: 268ns, max_from_linter: 257ns, severity-rules: 214ns, path_shortener: 168ns, max_per_file_from_linter: 161ns, path_prefixer: 145ns 
INFO [runner] linters took 4m38.272704395s with stages: goanalysis_metalinter: 4m38.237389737s 
INFO File cache stats: 337 entries of total size 7.1MiB 
INFO Memory: 1857 samples, avg is 2749.5MB, max is 4964.1MB 
INFO Execution took 4m45.367439026s  
chethanv28 commented 5 months ago

@chethanv28 Can you make some go file changes in this PR and confirm linters are not failing due to upgrade of golang?

I ran make check and pasted the results here: https://github.com/kubernetes-sigs/vsphere-csi-driver/pull/2867#issuecomment-2099200915

Also, made a minor go file change. Let's see if the linters are not failing

chethanv28 commented 4 months ago

/test pull-vsphere-csi-driver-verify-golangci-lint

chethanv28 commented 4 months ago

/test pull-vsphere-csi-driver-verify-golangci-lint

k8s-ci-robot commented 4 months ago

@chethanv28: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-vsphere-csi-driver-verify-golangci-lint ceaf93d1803a6a6ccb705627a18bcbbf5da216bf link true /test pull-vsphere-csi-driver-verify-golangci-lint

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
svcbot-qecnsdp commented 3 months ago

Started Vanilla block pre-checkin pipeline... Build Number: 2838

svcbot-qecnsdp commented 3 months ago

Started Vanilla block pre-checkin pipeline... Build Number: 2839

svcbot-qecnsdp commented 3 months ago

Started Vanilla block pre-checkin pipeline... Build Number: 2840

svcbot-qecnsdp commented 3 months ago
Build ID: 2840
Block vanilla build status: SUCCESS 
Stage before exit: e2e-tests 
Jenkins E2E Test Results: 
------------------------------

Ran 1 of 877 Specs in 60.834 seconds
SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 876 Skipped
PASS

Ginkgo ran 1 suite in 2m7.912566762s
Test Suite Passed
xing-yang commented 3 months ago

/lgtm