Skip to content

chore(deps): bump github.com/container-storage-interface/spec from 1.8.0 to 1.13.0 - #6229

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/go_modules/github.com/container-storage-interface/spec-1.13.0
Open

dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/go_modules/github.com/container-storage-interface/spec-1.13.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Bumps github.com/container-storage-interface/spec from 1.8.0 to 1.13.0.

Release notes

Sourced from github.com/container-storage-interface/spec's releases.

v1.13.0

Breaking changes/Deprecations:

  • None

Additions:

Clarifications/Corrections/Fixes:

  • #587 - Add note about possibly lower available capacity on MountVolume volumes by @​nixpanic
  • #563 - describe ABORTED as error message for CreateVolumeGroupSnapshot by @​nixpanic
  • #605 - Fix RESOURCE_EXHAUSTED error code from 13 to 8 by @​nixpanic

Dependencies:

  • #602/#607 - Bump golang from 1.23 to 1.25

New Contributors

Full Changelog: container-storage-interface/spec@v1.12.0...v1.13.0

v1.13.0-rc1

No release notes provided.

v1.12.0

Breaking changes/Deprecations:

  • None

Additions:

Clarifications/Corrections/Fixes:

  • #597 - Clarify that the INVALID_ARGUMENT error code for ControllerModifyVolume is safe to not retry (i.e. "infeasible") by @​bswartz #591 - Documents the gRPC error code that should be returned for GetMetadataDelta when changed block tracking has not been enabled in the underlying storage subsystem by @​carlbraganza
  • #580 - removes "optional" from the description of GetVolumeGroupSnapshot to reduce confusion by @​xing-yang

Dependencies:

  • #585 - Bump golang from 1.18 to 1.23

Full Changelog: container-storage-interface/spec@v1.11.0...v1.12.0

v1.12.0-rc1

No release notes provided.

v1.11.0

What's Changed

Breaking changes/Deprecations

  • None

... (truncated)

Commits
  • b516e92 Merge pull request #607 from container-storage-interface/dependabot/go_module...
  • 3c04186 Bump golang.org/x/net from 0.48.0 to 0.55.0
  • ad56747 Merge pull request #606 from mdzraf/SnapTopologyPOC
  • 5334f34 Introducing Snapshot Topology
  • cd9e7ad Merge pull request #604 from gnufied/implement-volume-health
  • 8e06851 Add documentation about reserved fields
  • 6f80119 Update wording for DATA_LOSS and capabilities
  • 72e2e56 Update the CSI spec to address the review comments
  • 0c33790 Add volume health proposal
  • e74e0e8 Fix RESOURCE_EXHAUSTED error code from 13 to 8 (#605)
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file go Pull requests that update Go code labels Nov 5, 2026
@fluid-e2e-bot

fluid-e2e-bot Bot commented Nov 5, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign zwwhdls for approval by writing /assign @zwwhdls in a comment. For more information see:The Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@fluid-e2e-bot

fluid-e2e-bot Bot commented Nov 5, 2026

Copy link
Copy Markdown

Hi @dependabot[bot]. Thanks for your PR.

I'm waiting for a fluid-cloudnative member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

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 kubernetes/test-infra repository.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The dependency upgrade breaks CSI driver compilation because the csi-common default servers lack required embeddings and RPCs, so those implementations and the vendor tree must be updated.

1 open issue
What changed in this PR

Updates the Container Storage Interface (CSI) dependency from v1.8.0 to v1.13.0 for Fluid's CSI integration.

Changes:

  • Updates the dependency version, checksums, and vendor metadata.
  • Adds generated gRPC bindings with expanded health and snapshot APIs.
  • Removes the legacy protobuf wrappers package from vendored dependencies.
File Description
vendor/​modules.txt Records CSI v1.13.0 and its Go requirement; removes the wrappers entry.
vendor/​github.com/​golang/​protobuf/​ptypes/​wrappers/​wrappers.pb.go Removes the legacy wrapper aliases.
vendor/​github.com/​container-storage-interface/​spec/​lib/​go/​csi/​csi_grpc.pb.go Adds generated CSI client and server bindings.
go.sum Updates CSI module checksums.
go.mod Bumps the CSI dependency to v1.13.0.

Review effort: Balanced

Comment thread go.mod
require (
github.com/agiledragon/gomonkey/v2 v2.13.0
github.com/container-storage-interface/spec v1.8.0
github.com/container-storage-interface/spec v1.13.0

@cheyang cheyang left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This bump cannot merge as-is: the module does not compile. Both reviewers independently reproduced the break — since CSI spec v1.10.0 the generated gRPC server interfaces require embedding csi.Unimplemented*Server, and fluid's CSI plugin is built on the vendored kubernetes-csi/drivers/pkg/csi-common v1.0.2 (repo archived since 2021, frozen at the 2019 state), whose Default*Server types predate that pattern. go build ./... fails at the head with three errors in csi-common/utils.go while the base builds clean, and that one incompatibility is the demonstrated cause of every red job on this PR (build, lint, staticcheck, unittest, all kind-e2e/backward-compat entries). The blast radius is contained: with a 3-line embedding probe (reverted — go mod vendor would wipe it) the whole module builds and all pkg/csi tests pass, so the rest of the tree is source-compatible with 1.13.0 and nothing behavioral changes. The real gate is a decision, not a patch: nothing in fluid uses the spec 1.9–1.13 additions, and kubernetes-csi/drivers will never cut a release with the embeds, so the choices are fork+replace it, inline/fork the ~200 lines of csi-common helpers fluid uses, or decline the bump (note: re-pinning to 1.9.x is not an escape — v1.9.0 also fails to compile, controllerServer is missing ControllerModifyVolume; the compile-safe boundary is staying at ≤ 1.8.0). Copilot's advisory review independently flagged the same mechanism. The only disagreement between the reviewers was the version boundary in one remediation option — settled in favor of ≤ 1.8.0 with a reproduced downgrade experiment. Repro contract tests: TestCSISpecCompatHarness on branch verify/csi-spec-bump-claude and the four contracts on verify/csi-spec-1-13-bump-codex.

Next round

[MUST] F1: make the module compile at the head — embed csi.Unimplemented*Server via a fork/replace or by inlining the csi-common helpers (a raw vendor edit is not shippable), or decline the bump; re-pinning to 1.9.x is not a fix.
[SHOULD] Q1: maintainer decision on CSI spec currency direction (fork+replace / inline csi-common / @dependabot ignore), decided once rather than per-bump.
[SHOULD] F3: keep a compile-time csi.*Server conformance test if the bump is redone, so future spec bumps fail fast.
[Filed] none

Non-blocking observations (2) — not part of this round's ask; fix now, follow up, or file an issue as you see fit
  • go.mod:61 [minor] — Remediation direction for CSI spec currency (merges Claude Q1 and Codex F2)
    Q1 (merged Q1/F2; the F2 sub-claim 'pin < v1.10.0 still compiles' was rebutted — the safe boundary is <= v1.8.0): what does fluid gain from csi spec >= 1.9? Nothing references the additions, and landing the bump requires replacing the archived csi-common dependency first. The one-time decision: (a) close the bump and have dependabot ignore the dependency, (b) stay at/pin <= v1.8.0 (equivalent to declining; a 1.9.x pin would fail CI exactly like the current head), or (c) inline/fork the csi-common helpers with Unimplemented* embeds and then take the bump — the only durable path, and a small refactoring PR of its own rather than a chore bump. Worth deciding once rather than per-dependabot-PR.
  • pkg/csi/plugins:1 [nit] — If the bump is redone, keep a compile-time CSI interface-conformance test (Codex F3, confirmed by Claude)
    F3 (nit, non-blocking): if maintainers replace csi-common and redo this bump, keep a small compile-time conformance test (var _ csi.IdentityServer/ControllerServer/NodeServer assertions, as in the review harnesses) so a future spec bump fails fast with a clear message instead of surfacing only via CI build failures.
Verified review delta
  • F1: open (initial-pr)
  • Q1: open (initial-pr)
  • F3: open (initial-pr)

Code: needs-work. CI: failure; attribution: pr-regression. Required CI checks still apply.

Comment thread go.mod
require (
github.com/agiledragon/gomonkey/v2 v2.13.0
github.com/container-storage-interface/spec v1.8.0
github.com/container-storage-interface/spec v1.13.0

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

F1 (consensus, confirmed by both reviewers and Copilot): bumping the CSI spec to 1.13.0 breaks the build. Since spec v1.10.0 the generated csi_grpc.pb.go (protoc-gen-go-grpc v1.3.0) requires every server implementation to embed the UnimplementedServer structs — mustEmbedUnimplemented{Identity,Controller,Node}Server() is now an interface method — and adds new RPCs (ControllerModifyVolume, GetSnapshot, ControllerListVolumeHealth, ControllerGetVolumeHealth, NodeGetVolumeHealth, NodeGetStorageHealth). The vendored kubernetes-csi/drivers csi-common v1.0.2 DefaultServer types — and fluid's controllerServer/nodeServer in pkg/csi/plugins which embed them — predate that pattern (the repo is archived and frozen at the 2019 state), so vendor/.../csi-common/utils.go:76/84/92 fail to compile and with them pkg/csi/plugins, pkg/csi and cmd/csi. This is also the proven cause of every red CI job on this PR (build, lint, staticcheck, unittest, all e2e). Verified differentially: base compiles, head does not, and a 3-line embed probe (unshippable as-is — go mod vendor would wipe it) makes everything green, so the break is exactly the interface incompatibility. Fix requires fluid-side work: (a) replace-directive fork of kubernetes-csi/drivers with csi-common regenerated, (b) drop/inline the ~200 lines of csi-common helpers fluid actually uses (the durable path — also removes an archived dependency), or (c) decline the bump. Note a silent re-pin to 1.9.x is not a fix: no spec version >= 1.9.0 compiles against csi-common v1.0.0/1.0.2 without changes (v1.9.0 fails with 'controllerServer missing ControllerModifyVolume').

Bumps [github.com/container-storage-interface/spec](https://github.com/container-storage-interface/spec) from 1.8.0 to 1.13.0.
- [Release notes](https://github.com/container-storage-interface/spec/releases)
- [Commits](container-storage-interface/spec@v1.8.0...v1.13.0)

---
updated-dependencies:
- dependency-name: github.com/container-storage-interface/spec
  dependency-version: 1.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/go_modules/github.com/container-storage-interface/spec-1.13.0 branch from 7b5d039 to 93c51d5 Compare November 6, 2026 02:48
@sonarqubecloud

sonarqubecloud Bot commented Nov 6, 2026

Copy link
Copy Markdown

@cheyang
cheyang requested a balanced review from Copilot November 6, 2026 21:39
cheyang pushed a commit to cheyang/fluid that referenced this pull request Nov 6, 2026
…se to 93c51d5, F1 still broken

Head force-updated by dependabot rebase onto new master (91a58c1, which
took the Go 1.26.10 bump). Delta is pure rebase churn: vendored CSI spec
files byte-identical, kubernetes-csi/drivers still v1.0.2. Re-verified:
new base builds clean (spec v1.8.0), re-verify.sh reports F1
STILL-BROKEN at 93c51d5, CI fully red with the identical csi-common
interface errors under go1.26.10. Evidence in results/r2-*. Advance
.last-reviewed to 93c51d5. Production code untouched.

Co-Authored-By: Claude Code <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The CSI dependency upgrade breaks compilation because the existing identity, controller, and node servers, including legacy csicommon implementations, do not satisfy the newly required interfaces.

2 open issues

Review effort: Balanced

Comment thread go.mod
require (
github.com/agiledragon/gomonkey/v2 v2.14.4
github.com/container-storage-interface/spec v1.8.0
github.com/container-storage-interface/spec v1.13.0
cheyang pushed a commit to cheyang/fluid that referenced this pull request Nov 6, 2026
…rebased head 93c51d5 (F1 still broken; base control pass at 91a58c1, toolchain go1.26.10); untrack volatile reverify scratch output (persistence fix); correct v1.9.x remediation note. Production code untouched.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file go Pull requests that update Go code needs-ok-to-test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants