Skip to content

csi: update kubernetes-csi-addons to v0.15.0 and migrate to CSI v1.13.0 - #6547

Draft
cynthiaantonyj wants to merge 2 commits into
ceph:develfrom
cynthiaantonyj:update-addons-dep
Draft

csi: update kubernetes-csi-addons to v0.15.0 and migrate to CSI v1.13.0#6547
cynthiaantonyj wants to merge 2 commits into
ceph:develfrom
cynthiaantonyj:update-addons-dep

Conversation

@cynthiaantonyj

Copy link
Copy Markdown
Contributor

Describe what this PR does

This PR updates the kubernetes-csi-addons v0.15.0 and migrates ceph-csi to use the CSI spec v1.13.0 volume health API.

The change consists of two commits:

Commit 1: Dependency update

  • Updates csi-addons to v0.15.0
  • Updates github.com/container-storage-interface/spec from v1.12.0 to v1.13.0 (required by csi-addons v0.15.0)
  • Updates transitive dependencies: go-logr/logr (v1.4.3 → v1.4.4) and go.uber.org/zap (v1.27.1 → v1.28.0)
  • Refreshes vendor directory with updated generated code

Commit 2: CSI v1.13.0 API migration

  • Removes deprecated VolumeCondition field from NodeGetVolumeStatsResponse
  • Removes NodeServiceCapability_RPC_VOLUME_CONDITION capability
  • Implements new NodeGetVolumeHealth RPC for all three drivers (RBD, CephFS, NFS)
  • Adds NodeServiceCapability_RPC_GET_VOLUME_HEALTH capability
  • Reuses existing health-checker infrastructure to maintain feature parity

Is there anything that requires special attention

CSI Spec API Change

CSI spec v1.13.0 deprecated the VolumeCondition field in NodeGetVolumeStatsResponse and introduced a dedicated NodeGetVolumeHealth RPC for volume health reporting.

References:

Implementation Details

The new NodeGetVolumeHealth RPC:

  1. Accepts volume_id and volume path (volume_publish_path or staging_target_path)
  2. Calls existing health-checker.IsHealthy() infrastructure (no behavior change)
  3. Returns VolumeHealth with:
    • Empty health_statuses array when volume is healthy (no adverse conditions)
    • VolumeHealthErrorType_INACCESSIBLE status with error message when unhealthy
  4. Handles edge case where checker hasn't compning healthy status

Reference:

Why This Change is Required

The kubernetes-csi-addons v0.15.0 update is needed to:

  • Get latest CSI-Addons features and bug fixes
  • Align with CSI spec v1.13.0 which is required by kubernetes-csi-addons v0.15.0
  • Follow upstream CSI spec evolution and best practices

References:

Checklist:

  • Commit Message Formatting: Commit titles and messages follow guidelines in the developer guide.
  • Reviewed the developer guide on Submitting a Pull Request
  • Pending release notes updated with breaking and/or notable changes for the next major release.
  • Documentation has been updated, if necessary.
  • Unit tests have been added, if necessary.
  • Integration tests have been added, if necessary.

Testing Performed

  • Containerized build: make containerized-build
  • Containerized tests: make containerized-test
    • All unit tests pass
    • All linting checks pass (golangci-lint)
    • No build failures

Show available bot commands

These commands are normally not required, but in case of issues, leave any of the following bot commands in an otherwise empty comment in this PR:

  • /retest ci/centos/<job-name>: retest the <job-name> after unrelated failure (please report the failure too!)

cynthiaantonyj and others added 2 commits September 9, 2026 16:27
Updated github.com/csi-addons/kubernetes-csi-addons from v0.14.0 to v0.15.0.

Also updated github.com/container-storage-interface/spec from v1.12.0 to v1.13.0 as required by kubernetes-csi-addons v0.15.0, along with the related transitive dependency refreshes

Signed-off-by: Cynthia Antony J <cynthiaantonyj@ibm.com>
CSI spec v1.13.0 replaced VolumeCondition in NodeGetVolumeStatsResponse
with a dedicated NodeGetVolumeHealth RPC. This commit implements the new
API while maintaining volume health monitoring feature parity.

Changes:
- Remove deprecated VolumeCondition field from NodeGetVolumeStatsResponse
- Remove NodeServiceCapability_RPC_VOLUME_CONDITION capability
- Implement NodeGetVolumeHealth RPC for RBD, CephFS, and NFS
- Add NodeServiceCapability_RPC_GET_VOLUME_HEALTH capability
- Reuse existing health-checker infrastructure

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Signed-off-by: Cynthia Antony J <cynthiaantonyj@ibm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant