STOR-2758: Rebase to upstream v8.5.0 for OCP 4.22#202
Conversation
Signed-off-by: Abhishek Jain <abjain39@in.ibm.com>
Bumps [github.com/mailru/easyjson](https://github.com/mailru/easyjson) from 0.9.0 to 0.9.1. - [Release notes](https://github.com/mailru/easyjson/releases) - [Commits](mailru/easyjson@v0.9...v0.9.1) --- updated-dependencies: - dependency-name: github.com/mailru/easyjson dependency-version: 0.9.1 dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
trivy.yaml should use the same go version as release tools, so it checks for CVEs with the same go as we use to build images. Add a step that parses the go version from prow.sh and stores it in .goversion file. Use the file in subsequent setup-go step.
8d1258cce Merge pull request kubernetes-csi#286 from kubernetes-csi/dependabot/github_actions/actions/checkout-6 91e35981a Bump actions/checkout from 5 to 6 294138155 Merge pull request kubernetes-csi#285 from andyzhangx/patch-6 fa8b339e9 fix: upgrade to go1.24.9 to fix CVEs git-subtree-dir: release-tools git-subtree-split: 8d1258cce8062a7ff5de7e10b10f01bed3e9c677
to fix a CVE
Parse go version from release-tools
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v5...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
…apshotContent` This patch fixes an issue where the `VolumeSnapshot` would end up in a reconcile loop due to the controller not being able to find the `VolumeGroupSnapshot` that was set in the `VolumeSnapshotContent`'s status for a `VolumeSnapshot`. The issue arose from a logic error which led to the `VolumeSnapshotContent.Status.VolumeGroupSnapshotHandle` never being updated except for the first/initial creation. More specifically, the resource being passed to patch was empty in the cases where `VolumeSnapshotContent` already existed on the cluster. This patch passes the correct name to patch function to fix the issue. Note to reviewer: The `PatchVolumeSnapshotContent` only reads `ObjectMeta.Name`so there is no need to fetch the existing `VolumeSnapshotContent` from the API server. Signed-off-by: Niraj Yadav <niryadav@redhat.com>
…otContent.Spec` The function `createSnapshotsForGroupSnapshotContent` responsible for creating `VolumeSnapshots` and binding them to the `VolumeSnapshotContent` has a logic error where it reads an empty `UID` for the `VolumeSnapshot` if it already exists. This patch addresses the issue by fetching the existing `VolumeSnapshot` if it already exists. That way the `UID` will always be set by the API server. An error is returned to retry the reconcile if an empty `UID` is found on this fetched object. Signed-off-by: Niraj Yadav <niryadav@redhat.com>
…resources Fix for cases where the resource is already present on the cluster
…bump_up_release_tools
b12e407cc Merge pull request kubernetes-csi#289 from nixpanic/k8s-v1.34 bbe5e547e Use Kubernetes v1.34 and Kind v0.30 by default 4e9eb2c9e Merge pull request kubernetes-csi#288 from gnufied/add-gnufied-for-csi-approver 064e260d9 Add myself as csi approver c852fa797 Merge pull request kubernetes-csi#287 from andyzhangx/patch-7 bce16c103 fix: upgrade to go1.24.11 to fix CVE-2025-61727 git-subtree-dir: release-tools git-subtree-split: b12e407cc9556acf6702ed8745d3f8a29c9169bb
…release_tools Cleanup/bump up release tools
…/github_actions/actions/checkout-6 Bump actions/checkout from 5 to 6
…/go_modules/github.com/mailru/easyjson-0.9.1 Bump github.com/mailru/easyjson from 0.9.0 to 0.9.1
Signed-off-by: Penghao <pewang@redhat.com>
fix: group snapshot not taken on conflict
Update controller deployment to latest version
…on_flags Use common flags in csi-lib-utils v1.23
Signed-off-by: Abhishek Jain <abjain39@in.ibm.com>
707a99eca Merge pull request kubernetes-csi#291 from dfajmon/logcheck a9d2b0fb3 Bump logcheck to v0.10.0 d6846630b Merge pull request kubernetes-csi#290 from dfajmon/go-1.25.5 55e527c49 Bump golang to 1.25.5 git-subtree-dir: release-tools git-subtree-split: 707a99ecae026a8faa36d60aa9ea88505b5865df
Update csi-release-tools & Bump k8s dependencies to v1.35.0
Update controller deployment to latest 8.4.0
1e81e752e Merge pull request kubernetes-csi#293 from andyzhangx/patch-9 4dc185057 fix: upgrade to go1.25.7 to fix CVE-2025-61727 b60b9a507 Merge pull request kubernetes-csi#292 from andyzhangx/patch-8 0e4e2ed0d Update Go version from 1.25.5 to 1.25.6 to fix CVE git-subtree-dir: release-tools git-subtree-split: 1e81e752e87e027311be882279eac9e292705aa5
|
@dfajmon: This pull request references STOR-2758 which is a valid jira issue. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
WalkthroughRelease update introducing v8.5.0 that includes Go toolchain upgrade to 1.25, Kubernetes dependency upgrade to 1.35, refactored configuration handling in csi-snapshotter to use standardized libconfig instead of ad-hoc flags, container image tag updates, internal method renames in group snapshot controller, and updated build/test infrastructure versions. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs). Comment |
|
@dfajmon: This pull request references STOR-2758 which is a valid jira issue. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: dfajmon The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@cmd/csi-snapshotter/main.go`:
- Line 248: The log call using klog.V(2).Infof passes the pointer
snapshotNameUUIDLength to a %d formatter causing a format error; update the
klog.V(2).Infof invocation (the NewCSISnapshotSideCarController startup log) to
pass the dereferenced value *snapshotNameUUIDLength instead of
snapshotNameUUIDLength so the integer is logged correctly.
In `@deploy/kubernetes/csi-snapshotter/setup-csi-snapshotter.yaml`:
- Line 75: The manifest currently pins image:
registry.k8s.io/sig-storage/csi-provisioner:v6.1.0 which requires Kubernetes
1.34+ because v6.1.0 depends on the storage/v1 VolumeAttributesClass API and
also changes topology behavior; verify the cluster Kubernetes version and either
(a) retain v6.1.0 only for clusters >=1.34 or (b) pin to a compatible older tag
(e.g., a v6.0.x image) for clusters <1.34, and add a short manifest comment or
README note near the csi-provisioner image reference explaining the
VolumeAttributesClass (storage/v1) requirement and topology removal warning so
operators know to upgrade Kubernetes before using v6.1.0.
In `@go.mod`:
- Line 3: The go directive in go.mod currently reads "go 1.25.5", which allows
builds to select a vulnerable toolchain; update the module minimum Go version to
"1.25.7" to require the patched toolchain. Edit the go.mod file and change the
go directive value from 1.25.5 to 1.25.7 so the module's minimum Go version
matches the patched release.
In `@release-tools/verify-logcheck.sh`:
- Line 24: The LOGCHECK_VERSION default in verify-logcheck.sh is set to 0.10.0
which introduces a breaking lint change detecting logger.V(x).Error(...)
patterns; either revert the default LOGCHECK_VERSION to the previous working
release or update all code using logger.V(...).Error(...) to the supported
pattern (e.g., switch calls to logger.V(x).Info(..., "err", err) or remove
V(...)), and ensure any places relying on klog.V(...).ErrorS() semantics are
adjusted; search for LOGCHECK_VERSION, logger.V(...).Error(...), and
klog.V(...).ErrorS() to locate affected code and update accordingly before
bumping the version.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: d6d51c84-37a4-4e2a-9b7f-9f2a2177a805
⛔ Files ignored due to path filters (289)
go.sumis excluded by!**/*.sumvendor/cel.dev/expr/BUILD.bazelis excluded by!**/vendor/**,!vendor/**vendor/cel.dev/expr/MODULE.bazelis excluded by!**/vendor/**,!vendor/**vendor/cel.dev/expr/checked.pb.gois excluded by!**/*.pb.go,!**/vendor/**,!vendor/**vendor/cel.dev/expr/eval.pb.gois excluded by!**/*.pb.go,!**/vendor/**,!vendor/**vendor/cel.dev/expr/explain.pb.gois excluded by!**/*.pb.go,!**/vendor/**,!vendor/**vendor/cel.dev/expr/syntax.pb.gois excluded by!**/*.pb.go,!**/vendor/**,!vendor/**vendor/cel.dev/expr/value.pb.gois excluded by!**/*.pb.go,!**/vendor/**,!vendor/**vendor/github.com/antlr4-go/antlr/v4/antlrdoc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/antlr4-go/antlr/v4/atn.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/antlr4-go/antlr/v4/atn_config.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/antlr4-go/antlr/v4/input_stream.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/antlr4-go/antlr/v4/jcollect.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/antlr4-go/antlr/v4/lexer.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/antlr4-go/antlr/v4/ll1_analyzer.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/antlr4-go/antlr/v4/mutex.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/antlr4-go/antlr/v4/mutex_nomutex.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/antlr4-go/antlr/v4/parser_atn_simulator.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/antlr4-go/antlr/v4/prediction_context.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/antlr4-go/antlr/v4/recognizer.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/antlr4-go/antlr/v4/statistics.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/antlr4-go/antlr/v4/token.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/antlr4-go/antlr/v4/utils.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cenkalti/backoff/v4/context.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cenkalti/backoff/v4/exponential.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cenkalti/backoff/v4/retry.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cenkalti/backoff/v4/tries.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cenkalti/backoff/v5/.gitignoreis excluded by!**/vendor/**,!vendor/**vendor/github.com/cenkalti/backoff/v5/CHANGELOG.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/cenkalti/backoff/v5/LICENSEis excluded by!**/vendor/**,!vendor/**vendor/github.com/cenkalti/backoff/v5/README.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/cenkalti/backoff/v5/backoff.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cenkalti/backoff/v5/error.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cenkalti/backoff/v5/exponential.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cenkalti/backoff/v5/retry.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cenkalti/backoff/v5/ticker.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/cenkalti/backoff/v5/timer.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/coreos/go-systemd/v22/daemon/sdnotify_other.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/coreos/go-systemd/v22/daemon/sdnotify_unix.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/coreos/go-systemd/v22/daemon/watchdog.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/coreos/go-systemd/v22/journal/journal.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/coreos/go-systemd/v22/journal/journal_unix.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/emicklei/go-restful/v3/.travis.ymlis excluded by!**/vendor/**,!vendor/**vendor/github.com/emicklei/go-restful/v3/CHANGES.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/emicklei/go-restful/v3/README.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/emicklei/go-restful/v3/curly.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/emicklei/go-restful/v3/custom_verb.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/emicklei/go-restful/v3/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/evanphx/json-patch/README.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/evanphx/json-patch/patch.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-logr/logr/.golangci.yamlis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-logr/logr/funcr/funcr.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/jsonpointer/.cliff.tomlis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/jsonpointer/.gitignoreis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/jsonpointer/.golangci.ymlis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/jsonpointer/CONTRIBUTORS.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/jsonpointer/LICENSEis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/jsonpointer/NOTICEis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/jsonpointer/README.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/jsonpointer/SECURITY.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/jsonpointer/errors.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/jsonpointer/pointer.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/jsonreference/.cliff.tomlis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/jsonreference/.editorconfigis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/jsonreference/.golangci.ymlis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/jsonreference/CONTRIBUTORS.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/jsonreference/NOTICEis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/jsonreference/README.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/jsonreference/SECURITY.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/jsonreference/internal/normalize_url.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/jsonreference/reference.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/.codecov.ymlis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/.golangci.ymlis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/.mockery.ymlis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/README.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/SECURITY.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/cmdutils/LICENSEis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/cmdutils/cmd_utils.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/cmdutils/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/cmdutils_iface.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/conv/LICENSEis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/conv/convert.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/conv/convert_types.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/conv/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/conv/format.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/conv/sizeof.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/conv/type_constraints.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/conv_iface.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/convert.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/convert_types.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/fileutils/LICENSEis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/fileutils/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/fileutils/file.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/fileutils/path.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/fileutils_iface.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/go.workis excluded by!**/*.work,!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/go.work.sumis excluded by!**/*.sum,!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/initialism_index.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/json.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonname/LICENSEis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonname/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonname/name_provider.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonname_iface.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonutils/LICENSEis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonutils/README.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/ifaces.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/registry_iface.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/registry.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/adapter.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/lexer.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/ordered_map.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/pool.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/register.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/writer.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonutils/concat.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonutils/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonutils/json.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonutils/ordered_map.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/jsonutils_iface.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/loading/LICENSEis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/loading/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/loading/errors.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/loading/json.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/loading/loading.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/loading/options.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/loading/yaml.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/loading_iface.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/mangling/BENCHMARK.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/mangling/LICENSEis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/mangling/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/mangling/initialism_index.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/mangling/name_lexem.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/mangling/name_mangler.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/mangling/options.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/mangling/pools.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/mangling/split.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/mangling/string_bytes.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/mangling/util.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/mangling_iface.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/name_lexem.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/net.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/netutils/LICENSEis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/netutils/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/netutils/net.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/netutils_iface.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/split.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/stringutils/LICENSEis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/stringutils/collection_formats.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/stringutils/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/stringutils/strings.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/stringutils_iface.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/typeutils/LICENSEis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/typeutils/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/typeutils/types.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/typeutils_iface.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/util.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/yaml.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/yamlutils/LICENSEis excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/yamlutils/doc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/yamlutils/errors.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/yamlutils/ordered_map.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/yamlutils/yaml.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/go-openapi/swag/yamlutils_iface.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/gogo/protobuf/sortkeys/sortkeys.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/cel/BUILD.bazelis excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/cel/env.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/cel/folding.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/cel/library.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/cel/optimizer.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/cel/program.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/cel/templates/authoring.tmplis excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/cel/validator.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/checker/checker.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/checker/env.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/checker/scopes.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/common/ast/ast.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/common/debug/debug.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/common/env/BUILD.bazelis excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/common/env/env.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/common/types/BUILD.bazelis excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/common/types/bool.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/common/types/bytes.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/common/types/double.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/common/types/duration.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/common/types/int.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/common/types/json_value.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/common/types/list.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/common/types/map.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/common/types/null.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/common/types/object.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/common/types/pb/type.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/common/types/string.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/common/types/timestamp.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/common/types/uint.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/ext/README.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/ext/bindings.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/ext/comprehensions.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/ext/extension_option_factory.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/ext/formatting_v2.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/ext/native.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/ext/regex.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/interpreter/attribute_patterns.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/interpreter/attributes.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/interpreter/interpretable.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/interpreter/interpreter.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/interpreter/planner.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/cel-go/parser/helper.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/gnostic-models/extensions/extension.protois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/gnostic-models/openapiv2/OpenAPIv2.protois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/gnostic-models/openapiv3/OpenAPIv3.protois excluded by!**/vendor/**,!vendor/**vendor/github.com/google/gnostic-models/openapiv3/annotations.protois excluded by!**/vendor/**,!vendor/**vendor/github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options/openapiv2.pb.gois excluded by!**/*.pb.go,!**/vendor/**,!vendor/**vendor/github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options/openapiv2.protois excluded by!**/vendor/**,!vendor/**vendor/github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options/openapiv2_protoopaque.pb.gois excluded by!**/*.pb.go,!**/vendor/**,!vendor/**vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/BUILD.bazelis excluded by!**/vendor/**,!vendor/**vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/context.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/marshal_jsonpb.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/mux.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/josharian/intern/README.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/josharian/intern/intern.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/josharian/intern/license.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/kubernetes-csi/csi-lib-utils/config/config.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/kubernetes-csi/csi-lib-utils/connection/connection.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/kubernetes-csi/csi-lib-utils/leaderelection/leader_election.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/kubernetes-csi/csi-lib-utils/standardflags/flags.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/mailru/easyjson/LICENSEis excluded by!**/vendor/**,!vendor/**vendor/github.com/mailru/easyjson/buffer/pool.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/mailru/easyjson/jlexer/bytestostr.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/mailru/easyjson/jlexer/bytestostr_nounsafe.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/mailru/easyjson/jlexer/error.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/mailru/easyjson/jlexer/lexer.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/mailru/easyjson/jwriter/writer.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/pkg/errors/.gitignoreis excluded by!**/vendor/**,!vendor/**vendor/github.com/pkg/errors/.travis.ymlis excluded by!**/vendor/**,!vendor/**vendor/github.com/pkg/errors/LICENSEis excluded by!**/vendor/**,!vendor/**vendor/github.com/pkg/errors/Makefileis excluded by!**/vendor/**,!vendor/**vendor/github.com/pkg/errors/README.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/pkg/errors/appveyor.ymlis excluded by!**/vendor/**,!vendor/**vendor/github.com/pkg/errors/errors.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/pkg/errors/go113.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/pkg/errors/stack.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/client_golang/prometheus/desc.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/client_golang/prometheus/internal/difflib.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/client_golang/prometheus/labels.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/client_golang/prometheus/metric.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/client_golang/prometheus/process_collector_darwin.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/client_golang/prometheus/process_collector_mem_nocgo_darwin.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/client_golang/prometheus/process_collector_procfsenabled.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/client_golang/prometheus/promhttp/instrument_server.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/client_golang/prometheus/testutil/testutil.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/client_golang/prometheus/vec.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/client_golang/prometheus/wrap.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/common/expfmt/decode.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/common/expfmt/encode.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/common/expfmt/expfmt.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/common/expfmt/fuzz.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/common/expfmt/openmetrics_create.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/common/expfmt/text_create.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/common/expfmt/text_parse.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/common/model/alert.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/common/model/labels.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/common/model/labelset.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/common/model/metric.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/common/model/time.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/common/model/value.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/common/model/value_histogram.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/common/model/value_type.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/procfs/.golangci.ymlis excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/procfs/Makefileis excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/procfs/Makefile.commonis excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/procfs/README.mdis excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/procfs/arp.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/procfs/buddyinfo.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/procfs/cmdline.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/procfs/cpuinfo.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/procfs/cpuinfo_armx.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/procfs/cpuinfo_loong64.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/procfs/cpuinfo_mipsx.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/procfs/cpuinfo_others.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/procfs/cpuinfo_ppcx.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/procfs/cpuinfo_riscvx.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/procfs/cpuinfo_s390x.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/procfs/cpuinfo_x86.gois excluded by!**/vendor/**,!vendor/**vendor/github.com/prometheus/procfs/crypto.gois excluded by!**/vendor/**,!vendor/**
📒 Files selected for processing (11)
CHANGELOG/CHANGELOG-8.5.mdcmd/csi-snapshotter/main.godeploy/kubernetes/csi-snapshotter/setup-csi-snapshotter.yamldeploy/kubernetes/snapshot-controller/setup-snapshot-controller.yamlgo.modpkg/common-controller/groupsnapshot_controller_helper.gorelease-tools/.github/workflows/codespell.ymlrelease-tools/.github/workflows/trivy.yamlrelease-tools/KUBERNETES_CSI_OWNERS_ALIASESrelease-tools/prow.shrelease-tools/verify-logcheck.sh
| } | ||
|
|
||
| klog.V(2).Infof("Start NewCSISnapshotSideCarController with snapshotter [%s] kubeconfig [%s] csiTimeout [%+v] csiAddress [%s] resyncPeriod [%+v] snapshotNamePrefix [%s] snapshotNameUUIDLength [%d]", driverName, *kubeconfig, *csiTimeout, *csiAddress, *resyncPeriod, *snapshotNamePrefix, snapshotNameUUIDLength) | ||
| klog.V(2).Infof("Start NewCSISnapshotSideCarController with snapshotter [%s] kubeconfig [%s] csiTimeout [%+v] csiAddress [%s] resyncPeriod [%+v] snapshotNamePrefix [%s] snapshotNameUUIDLength [%d]", driverName, standardflags.Configuration.KubeConfig, *csiTimeout, standardflags.Configuration.CSIAddress, *resyncPeriod, *snapshotNamePrefix, snapshotNameUUIDLength) |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
In Go's fmt package, what output is produced when %dis used with a non-integer argument such as*int?
💡 Result:
Using %d with a non-integer such as *int produces a format error marker in the output:
- General form:
%!d(type=value) - Example for a pointer:
fmt.Printf("%d", p)→%!d(*int=0xc0000120a8)(address will vary) [1]
Source
[1] Go fmt package docs (“Format errors”: Wrong type or unknown verb: %!verb(type=value); example Printf("%d","hi") → %!d(string=hi)). (pkg.go.dev)
Citations:
Dereference snapshotNameUUIDLength in this log call.
Line 248 passes the flag pointer to %d, which produces a format error marker like %!d(*int=...) instead of the actual integer value. Dereference it with *snapshotNameUUIDLength.
Proposed fix
-klog.V(2).Infof("Start NewCSISnapshotSideCarController with snapshotter [%s] kubeconfig [%s] csiTimeout [%+v] csiAddress [%s] resyncPeriod [%+v] snapshotNamePrefix [%s] snapshotNameUUIDLength [%d]", driverName, standardflags.Configuration.KubeConfig, *csiTimeout, standardflags.Configuration.CSIAddress, *resyncPeriod, *snapshotNamePrefix, snapshotNameUUIDLength)
+klog.V(2).Infof("Start NewCSISnapshotSideCarController with snapshotter [%s] kubeconfig [%s] csiTimeout [%+v] csiAddress [%s] resyncPeriod [%+v] snapshotNamePrefix [%s] snapshotNameUUIDLength [%d]", driverName, standardflags.Configuration.KubeConfig, *csiTimeout, standardflags.Configuration.CSIAddress, *resyncPeriod, *snapshotNamePrefix, *snapshotNameUUIDLength)📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| klog.V(2).Infof("Start NewCSISnapshotSideCarController with snapshotter [%s] kubeconfig [%s] csiTimeout [%+v] csiAddress [%s] resyncPeriod [%+v] snapshotNamePrefix [%s] snapshotNameUUIDLength [%d]", driverName, standardflags.Configuration.KubeConfig, *csiTimeout, standardflags.Configuration.CSIAddress, *resyncPeriod, *snapshotNamePrefix, snapshotNameUUIDLength) | |
| klog.V(2).Infof("Start NewCSISnapshotSideCarController with snapshotter [%s] kubeconfig [%s] csiTimeout [%+v] csiAddress [%s] resyncPeriod [%+v] snapshotNamePrefix [%s] snapshotNameUUIDLength [%d]", driverName, standardflags.Configuration.KubeConfig, *csiTimeout, standardflags.Configuration.CSIAddress, *resyncPeriod, *snapshotNamePrefix, *snapshotNameUUIDLength) |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@cmd/csi-snapshotter/main.go` at line 248, The log call using klog.V(2).Infof
passes the pointer snapshotNameUUIDLength to a %d formatter causing a format
error; update the klog.V(2).Infof invocation (the
NewCSISnapshotSideCarController startup log) to pass the dereferenced value
*snapshotNameUUIDLength instead of snapshotNameUUIDLength so the integer is
logged correctly.
| containers: | ||
| - name: csi-provisioner | ||
| image: registry.k8s.io/sig-storage/csi-provisioner:v5.2.0 | ||
| image: registry.k8s.io/sig-storage/csi-provisioner:v6.1.0 |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify csi-provisioner v6.1.0 image tag exists
curl -s "https://registry.k8s.io/v2/sig-storage/csi-provisioner/tags/list" 2>/dev/null | grep -o '"v6\.1\.0"' || echo "Tag lookup requires authenticated access - manual verification recommended"Repository: openshift/csi-external-snapshotter
Length of output: 152
🏁 Script executed:
cat -n deploy/kubernetes/csi-snapshotter/setup-csi-snapshotter.yaml | sed -n '70,85p'Repository: openshift/csi-external-snapshotter
Length of output: 689
🌐 Web query:
csi-provisioner v6.1.0 kubernetes release notes breaking changes
💡 Result:
csi-provisioner (external-provisioner) v6.1.0 — breaking changes / urgent notes
Breaking / urgent upgrade note
- Minimum Kubernetes version: 1.34 (because of the
storage/v1VolumeAttributesClassAPI). Clusters below 1.34 are only supported via API emulation, and you must restart the provisioner once the emulated version is updated to 1.35. [1]
Other notable “watch out”
- Topology support is marked “to be removed in the next release” (not a v6.1.0 break by itself, but relevant if you rely on topology-related behavior and plan to upgrade beyond 6.1.x). [1]
Changelog (what changed in 6.1.0)
- No additional breaking changes called out; the release contains a bug fix (“Fixed infinite retry loop during provisioning if node was deleted in the meantime.”). [2]
Sources: [1], [2]
🌐 Web query:
kubernetes-csi csi-provisioner version 6.1.0 image available
💡 Result:
Yes—csi-provisioner v6.1.0 is published in the official Kubernetes registry as:
docker pull registry.k8s.io/sig-storage/csi-provisioner:v6.1.0This pull reference is listed in the upstream kubernetes-csi/external-provisioner v6.1.0 release notes under “Container”. [1]
Sources:
[1] (github.com)
Citations:
Verify Kubernetes version compatibility for csi-provisioner v6.1.0 upgrade.
The image is available but requires Kubernetes 1.34+. The v6.1.0 release introduces a breaking change: it requires the storage/v1 VolumeAttributesClass API which is only available in Kubernetes 1.34 and later. Clusters running earlier versions are only supported via API emulation with a caveat: the provisioner must be restarted once the emulated version is updated to 1.35. Additionally, topology support is marked for removal in the next release—verify this aligns with your deployment requirements.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@deploy/kubernetes/csi-snapshotter/setup-csi-snapshotter.yaml` at line 75, The
manifest currently pins image:
registry.k8s.io/sig-storage/csi-provisioner:v6.1.0 which requires Kubernetes
1.34+ because v6.1.0 depends on the storage/v1 VolumeAttributesClass API and
also changes topology behavior; verify the cluster Kubernetes version and either
(a) retain v6.1.0 only for clusters >=1.34 or (b) pin to a compatible older tag
(e.g., a v6.0.x image) for clusters <1.34, and add a short manifest comment or
README note near the csi-provisioner image reference explaining the
VolumeAttributesClass (storage/v1) requirement and topology removal warning so
operators know to upgrade Kubernetes before using v6.1.0.
| go 1.24.0 | ||
|
|
||
| toolchain go1.24.6 | ||
| go 1.25.5 |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
What Go versions are fixed for CVE-2025-68121 according to the official Go vulnerability database?
💡 Result:
According to the official Go vulnerability database entry for CVE-2025-68121 (GO-2026-4337), the issue is fixed in these Go versions:
- go1.24.13 (and later in the 1.24 line)
- go1.25.7 (and later in the 1.25 line)
- go1.26.0-rc.3 (and later, including the final go1.26.0 release) [1]
Source: [1]
Update the module minimum Go version to match the patched version.
The go directive sets the minimum required Go version for the module. CVE-2025-68121 affects Go 1.25.x before 1.25.7, so keeping go 1.25.5 allows downstream builds to use a vulnerable toolchain despite Prow being upgraded to 1.25.7.
Proposed fix
-go 1.25.5
+go 1.25.7📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| go 1.25.5 | |
| go 1.25.7 |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@go.mod` at line 3, The go directive in go.mod currently reads "go 1.25.5",
which allows builds to select a vulnerable toolchain; update the module minimum
Go version to "1.25.7" to require the patched toolchain. Edit the go.mod file
and change the go directive value from 1.25.5 to 1.25.7 so the module's minimum
Go version matches the patched release.
|
/retest |
|
@dfajmon: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
/lgtm |
|
/payload-job periodic-ci-openshift-release-main-ci-4.22-e2e-aws-ovn-techpreview |
|
@duanwei33: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command
See details on https://pr-payload-tests.ci.openshift.org/runs/ci/c05b9300-1d1d-11f1-8670-9d7bd21d881d-0 |
|
I kicked off another job just to verify the VolumeGroupSnapshot feature, and everything looks solid. |
|
@duanwei33: This PR has been marked as verified by DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
Issue link
https://issues.redhat.com/browse/STOR-2758
Diff to upstream v8.5.0
kubernetes-csi/external-snapshotter@v8.5.0...dfajmon:rebase-v8.5.0
Notes for reviewers
Summary of changes
Notable Bug Fixes
VolumeSnapshotRef.UIDinVolumeSnapshotContent.Spec(#1354)VolumeGroupSnapshotHandleinVolumeSnapshotContent(#1354)CVE Fixes
CVE-2025-68121
Upstream changelogs
Full changelog
kubernetes-csi/external-snapshotter@v8.4.0...v8.5.0
Last rebase
#189
@openshift/storage
Summary by CodeRabbit
Bug Fixes
Chores