github ceph/ceph-csi v3.16.0
CephCSI v3.16.0 Release

7 hours ago

We are excited to announce another release of Ceph CSI, v3.16.0. This is another significant step towards using enhanced Container Storage Interface (CSI) features with Ceph Cluster in the backend. With this release, we are introducing many brand-new features and enhancements to the Ceph CSI driver. Here are the changelog/release highlights.

Changelog and Highlights:

Warning

  • Ceph Tentacle v20.2.0 may have data loss with CephFS when readAffinity is enabled. Refer to #5772 for more details.
  • Migration: Ceph-CSI v3.16+ officially recommends using Ceph-CSI-Operator as the supported deployment mechanism. Refer to Migration.md for more details.

Features

NVMe-oF (NEW and Experimental)

The Deployment of NVMe-oF driver will be supported by Ceph-CSI-Operator soon.

This release introduces the NVMe-oF CSI driver, enabling Ceph storage to be accessed over the NVMe over Fabrics protocol. Refer to NVMe-oF.md and #5370 for more details.

RBD

  • Block volume statistics support: Added ability to retrieve block volume usage statistics (#5799)
  • Configurable block encryption cipher: Made the encryption cipher configurable for block volumes (#5711)
  • Improved fencing logic: Modified fencing logic for RBD and CephFS volumes (#5828)

CephFS

  • Improved fencing logic: Modified fencing logic for RBD and CephFS volumes (#5828)

Other

  • Controller publish secret caching: Added caching for controller publish secrets to improve performance (#5497)
  • User ID metadata storage: Store user ID in volume metadata (#5445)
  • IPv6 support improvement: Support for compressed IPv6 addresses in ParseClientIP (#5547)

What's Changed

CephFS

  • Skip reset quiesce during DeleteVolumeGroupSnapshot (#5583)
  • Fix mounting of alternate filesystem when mounting by monitor list (#5643)

RBD

  • Fix fencing for shallow volumes (#5503)
  • Fix volume replication promote/demote failures (#5533)
  • Volume demote after unpublish call (#5567)
  • Remove forcePromote function (#5725)
  • Prevent panic when expanding a statically provisioned volume (#5786)
  • Fetch volumeIds from VGRContent's status for omap data (#5899)

Continuous Integration and Testing

  • Prevent running multiple e2e suites at the same time (#5537)
  • Let Mergify label NVMe-oF PRs (#5563)
  • Use ceph-csi-bot for Mergify actions (#5584)
  • Set update_bot_account in Mergify config (#5586)
  • Use minikube v1.37.0 (#5598)
  • Update CI rules for Kubernetes 1.34 (#5602)
  • Auto-detect running on OpenShift (#5617)
  • Add NVMe-oF gateway deployment (#5614)
  • Use gci in golangci-lint (#5676)
  • Update static tools in the repo (#5680)
  • Prevent Mergify from triggering CI jobs twice (#5734)
  • Deploy ceph-csi-operator in configurable Namespace (#5867)
  • Fix pushing artifacts to quay.io (#5896)

Deployment

  • Update CSI sidecars to latest versions available (#5421)
  • Add list and watch permissions for secrets (#5809)

Helm Charts

  • Inject POD_NAMESPACE for KMIP secret lookup (#5722)
  • Add support for optionally injecting labels for VolumeSnapshotClass (#5843)
  • Claim ownership of the ArtifactHub repository (#5906)
  • Use repository-id instead of name for ArtifactHub (#5921, #5923)

Documentation

  • Update docs & Mergify rules to prepare for v3.16 release (#5912)
  • Fix link for CephFS helm doc (#5851)

Build and Cleanups

  • Use Go 1.24.6 (#5781)
  • Use github.com/avast/retry instead of kubernetes/wait (#5511)
  • Add modprobe helper for loading kernel modules (#5564)
  • Remove duplication code of k8s GetSecret (#5603)
  • Introduce a Driver interface for Run() function (#5636)
  • Move k8s API calls to internal/util/k8s (#5604)
  • Retry controllerpublish secret fetch on missing clusterId (#5677)
  • Add explicit nil check before errors.Is(err) check (#5692)
  • Fix cache miss when secret watcher is not running (#5807)
  • Download Golang distribution from go.dev (#5818)
  • Switch to tentacle base image (#5856)

Updates of dependencies

  • Bump k8s.io/kubernetes from 1.33.3 to 1.34.2 (#5520, #5590, #5762)
  • Bump k8s.io/api from 0.33.3 to 0.35.0 (#5514, #5576, #5765, #5863, #5886)
  • Bump github.com/ceph/go-ceph from 0.34.0 to 0.37.0 (#5516, #5689, #5885)
  • Bump github.com/ceph/ceph-nvmeof/lib/go/nvmeof (#5727, #5890)
  • Bump google.golang.org/grpc from 1.74.2 to 1.78.0 (#5545, #5593, #5665, #5797, #5892)
  • Bump google.golang.org/protobuf from 1.36.7 to 1.36.11 (#5546, #5592, #5628, #5861)
  • Bump github.com/container-storage-interface/spec from 1.11.0 to 1.12.0 (#5690)
  • Bump sigs.k8s.io/controller-runtime from 0.22.1 to 0.22.4 (#5626, #5663, #5719)
  • Bump github.com/onsi/ginkgo/v2 from 2.25.2 to 2.26.0 (#5571, #5629)
  • Bump github.com/stretchr/testify from 1.10.0 to 1.11.0 (#5542)
  • Bump github.com/opencontainers/selinux from 1.11.1 to 1.13.0 (#5738, #5739)
  • Bump github.com/hashicorp/vault/api from 1.21.0 to 1.22.0 (#5627)
  • Bump golang.org/x/net from 0.45.0 to 0.48.0 (#5687, #5858)
  • Bump golang.org/x/crypto from 0.43.0 to 0.45.0 (#5778, #5777)
  • Bump golang.org/x/sys from 0.37.0 to 0.38.0 (#5744)
  • Bump golang.org/x/oauth2 from 0.30.0 to 0.34.0 (#5575, #5661, #5743, #5834)
  • Bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.11.0 to 1.12.0 (#5600)
  • Bump github.com/aws/aws-sdk-go-v2/service/sts from 1.38.4 to 1.41.5 (multiple updates)
  • Bump docker/login-action from 3.4.0 to 3.5.0 (#5467)
  • Bump actions/dependency-review-action from 4.7.1 to 4.8.2 (multiple updates)
  • Bump actions/github-script from 7.0.1 to 8.0.0 (#5573)
  • Bump actions/stale from 9.1.0 to 10.1.1 (#5572, #5623, #5862)
  • Bump actions/checkout from 5.0.0 to 6.0.1 (#5798, #5836)
  • Multiple other dependency updates in k8s-dependencies, github-dependencies, and golang-dependencies groups

New Contributors

Full Changelog: v3.15.1...v3.16.0

Don't miss a new ceph-csi release

NewReleases is sending notifications on new releases.