Releases: ceph/ceph-csi
v3.15.0
Ceph-CSI v3.15.0 release notes
We are excited to announce another release of Ceph CSI, v3.15.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.
Note: From Ceph CSI v3.16.0 onwards, Ceph CSI Operator will be the only supported mode of deployment for kubernetes. Migration steps will be documented for users.
Changelog and Highlights:
Features
RBD
- rbd: support read/write mix qos limit option for rbdVol by @YiteGu in #5480
- rbd: adjust qos parameters start with small case by @YiteGu in #5488
- rbd: support set qos max limit for rbdVol by @YiteGu in #5501
Common
--setmetadataflag has been set to true by default.- helm: Support VolumeSnapshotClass and VolumeGroupSnapshotClass by @hswong3i in #5240
What's Changed
RBD
- rbd: cleanup and improve read-only volume handling by @nixpanic in #5290
- rbd: prevent restarting mirror resync when the mirror is syncing already by @nixpanic in #5279
- rbd: improve logging for rpc calls by @Nikhil-Ladha in #5315
- rbd: skip comparing volumes in a group if new group is created by @Nikhil-Ladha in #5345
- rbd: update VolumeGroupContext by @iPraveenParihar in #5376
- rbd: add steps to enable librbd logs by @Nikhil-Ladha in #5403
- rbd: add additional logging details for stream server by @Rakshith-R in #5411
- rbd: add check before calling Destroy by @Madhu-1 in #5446
- rbd: fix expand rbd qos volume invaild by @YiteGu in #5479
- rbd: consider lastSyncTimeNotFound as image not syncing by @Rakshith-R in #5498
- rbd: return replication status and status message in case of error by @Nikhil-Ladha in #5500
NFS
Continuous Integration and Testing
- e2e: test for PVC with volumeBindingMode on helm installation by @ShravaniVangur in #5243
- ci: install awk in Fedora test container-image by @nixpanic in #5281
- ci: add
ok-to-testlabel after Mergify rephrase by @nixpanic in #5289 - ci: update pull request commenter for 1.33 by @Madhu-1 in #5381
- ci: dont upload the snyk report to the github by @Madhu-1 in #5416
- ci: cancel in-progress workflow when PR is updated by @Madhu-1 in #5447
- ci: FiX E2E failures for new ceph version 19.2.2 by @Madhu-1 in #5460
Deployment
- helm: mark userID and userKey required in secret by @black-dragon74 in #5288
- helm: use CSIDriver.seLinuxMount parameter in templates by @alelindq in #5303
- deploy: add
-automaxprocsto reduce CPU and memory resources by @nixpanic in #5292 - helm: use unique names for container ports by @sebhoss in #5413
Documentation
- doc: Update cephfs caps by @flx5 in #5294
- doc: fix format in helm chart by @Madhu-1 in #5360
- doc: add
v3symlink to get current versions in pkg.go.dev by @nixpanic in #5364 - doc: update Readme for v3.14.1 by @Madhu-1 in #5377
- doc: add design for NVMe-oF access to RBD-images by @nixpanic in #5397
- doc: design doc for non-graceful node shutdown by @iPraveenParihar in #5409
- doc: clarifiy NVMe-oF design a little more by @nixpanic in #5422
- doc: changes for 3.14.2 release by @Madhu-1 in #5434
- doc: design doc for userID mapping metadata by @Rakshith-R in #5425
- doc: update docs & mergifyio rules to prepare for v3.15 release by @Rakshith-R in #5506
Other
- util: fix bug in health checker by @Rakshith-R in #5272
- Run cryptsetup with "-d -" instead of "-d /dev/stdin" by @bartlaarhoven in #5307
- enable setmetadata flag by default by @yati1998 in #5333
- util: pass Servers by reference to Start() by @Rakshith-R in #5351
- csi: validate incoming VolumeGroupSnapshot requests by @nixpanic in #5353
- util: pass Servers by reference to serve() by @Rakshith-R in #5354
- csiaddons: add Status, StatusMessage in GetVolumeReplicationInfo resp by @Nikhil-Ladha in #5369
- flattenClonedRbdImages may require namespace by @odoucet in #5392
- util: explicitly set the Luks2 header size by @iPraveenParihar in #5394
- omap-generator: Fix memory problem in the csi controller cache by @Madhu-1 in #5443
- fix: Tracevol now correctly parses hexadecimal pool id by @jggc in #5451
Build and Cleanups
- build: use Go 1.24.2 by @nixpanic in #5481
- build: prepare for v3.15.0 by @Rakshith-R in #5508
Updates of dependencies
- rebase: bump the golang-dependencies group across 1 directory with 3 updates by @dependabot[bot] in #5255
- rebase: bump golang.org/x/net from 0.38.0 to 0.39.0 in the golang-dependencies group by @dependabot[bot] in #5274
- rebase: bump the github-dependencies group with 3 updates by @dependabot[bot] in #5275
- rebase: bump golang.org/x/net from 0.36.0 to 0.38.0 in /api by @dependabot[bot] in #5277
- rebase: bump golang.org/x/net from 0.37.0 to 0.38.0 in /e2e by @dependabot[bot] in #5278
- rebase: bump google.golang.org/grpc from 1.71.1 to 1.72.0 by @dependabot[bot] in #5286
- rebase: bump github.com/ceph/go-ceph from 0.32.1-0.20250307053135-38b9676b1d4e to 0.33.0 by @dependabot[bot] in #5285
- rebase: bump github.com/aws/aws-sdk-go from 1.55.6 to 1.55.7 in the github-dependencies group by @dependabot[bot] in #5297
- rebase: bump golang.org/x/oauth2 from 0.29.0 to 0.30.0 in /actions/retest by @dependabot[bot] in #5305
- rebase: bump k8s.io/kubernetes from 1.32.3 to 1.33.0 in the k8s-dependencies group by @dependabot[bot] in #5296
- rebase: bump the golang-dependencies group with 3 updates by @dependabot[bot] in #5304
- rebase: bump k8s.io/api from 0.32.3 to 0.33.0 in /api in the k8s-dependencies group by @dependabot[bot] in #5295
- rebase: bump the k8s-dependencies group in /e2e with 3 updates by @dependabot[bot] in #5298
- rebase: bump actions/dependency-review-action from 4.6.0 to 4.7.0 by @dependabot[bot] in #5313
- rebase: bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.9.0 to 1.10.0 in the github-dependencies group by @dependabot[bot] in #5320
- rebase: bump k8s.io/kubernetes from 1.33.0 to 1.33.1 in the k8s-dependencies group by @dependabot[bot] in #5319
- rebase: bump actions/dependency-review-action from 4.7.0 to 4.7.1 by @dependabot[bot] in #5318
- rebase: bump google.golang.org/grpc from 1.72.0 to 1.72.1 by @dependabot[bot] in #5321
- rebase: bump the k8s-dependencies group in /e2e with 4 updates by @dependabot[bot] in #5322
- rebase: bump sigs.k8s.io/controller-runtime from 0.20.4 to 0.21.0 in the k8s-dependencies group by @dependabot[bot] in #5335
- rebase: bump github.com/kubernetes-csi/csi-lib-utils from 0.21.0 to 0.22.0 in the github-dependencies group by @dependabot[bot] in #5336
- rebase: bump google.golang.org/grpc from 1.72.1 to 1.72.2 by @dependabot[bot] in #5337
- rebase: bump k8s.io/api from 0.33.0 to 0.33.1 in /api in the k8s-dependencies group by @dependabot[bot] in #5317
- rebase: bump the github-dependencies group with 3 updates by @dependabot[bot] in #5356
- rebase: bump the golang-dependencies group with 2 updates by @dependabot[bot] in https://...
Ceph-CSI v3.14.2 Release
What's Changed
- revert: prepare for v3.14.1 by @Madhu-1 in #5384
- flattenClonedRbdImages may require namespace (backport #5392) by @mergify[bot] in #5396
- Run cryptsetup with "-d -" instead of "-d /dev/stdin" (backport #5307) by @mergify[bot] in #5407
- doc: changes for 3.14.2 release (backport #5434) by @mergify[bot] in #5435
- Template changes for 3.14.2 release by @Madhu-1 in #5436
Full Changelog: v3.14.1...v3.14.2
Ceph-CSI v3.14.1 Release
What's Changed
- revert: revert to 3.14-canary by @Rakshith-R in #5269
- util: fix bug in health checker (backport #5272) by @mergify in #5273
- ci: install awk in Fedora test container-image (backport #5281) by @mergify in #5284
- rbd: skip comparing volumes in a group if new group is created (backport #5345) by @mergify in #5350
- nfs: return success if export already exists (backport #5372) by @mergify in #5373
- doc: update Readme for v3.14.1 (backport #5377) by @mergify in #5378
- doc: add
v3symlink to get current versions in pkg.go.dev (backport #5364) by @mergify in #5379 - build: prepare for v3.14.1 by @Madhu-1 in #5382
Full Changelog: v3.14.0...v3.14.1
v3.14.0
v3.14.0 release notes
We are excited to announce another release of Ceph CSI, v3.14.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:
Features
RBD
- rbd: Use assume_storage_prezeroed when formatting by @black-dragon74 in #4996
- rbd: support QoS based on capacity for rbd volume for nbd-rbd client by @YiteGu in #5016
CephFS
- cephfs: upgrading mount syntax by @MageekChiu in #5090
Other
- util: enhance tracevol.py script to work with volumesnapshots by @black-dragon74 in #5049
What's Changed
CephFS
- cephfs: use userid and keys for provisioning by @black-dragon74 in #4988
RBD
- rbd: flatten group snapshot by @Rakshith-R in #4973
- rbd: return group not found error for Get,Delete RPC calls by @Nikhil-Ladha in #5001
- rbd: add snap delete function by @iPraveenParihar in #5000
- rbd: rename groupNamePrefix to volumeGroupNamePrefix by @iPraveenParihar in #5063
- rbd: add check to getVolumeReplicationInfo by @yati1998 in #5078
- rbd: add context in reported errors by GetVolumeReplicationInfo by @nixpanic in #5079
- rbd: correct default encryption type by @iPraveenParihar in #5087
- rbd: use correct radosNamespace by @iPraveenParihar in #5099
- rbd: VolumeGroupReplicationContent controller to regenerate the OMAP data by @iPraveenParihar in #4750
- rbd: log formatting and go-ceph deprecation in
constructImageOptionsby @nixpanic in #5116 - rbd: get volumegroup in secondary cluster by @iPraveenParihar in #5118
- rbd: fix bug in rbdVol.Exists() in PVC-PVC clone case by @Rakshith-R in #5159
- rbd: Update return error message when delete volume failed by @ecosysbin in #5138
- rbd: add validation to ToCSI() for rbdVolume and rbdSnapshot by @nixpanic in #5151
- rbd: return gRPC code
Abortedwhen the RBD-image is in-use on delete by @nixpanic in #5168 - rbd: fix encrypted PVC with metadata KMS cannot be deleted by @zerotens in #5149
- rbd: set logger for the controller-runtime by @iPraveenParihar in #5174
- rbd: use ListChildrenAttributes() instead of ListChildren() by @Rakshith-R in #5206
- rbd: add one depth for softlimit of snapshot for restore PVC by @Rakshith-R in #5217
- rbd: retain temp snap by @iPraveenParihar in #5191
- rbd: check for volume group existence by @iPraveenParihar in #5184
- rbd: use pre-existing volume group if content matches by @nixpanic in #5221
- rbd: cleanup volume info from group if the image is not part of group anymore by @Nikhil-Ladha in #5250
- rbd: Register FenceController only once by @monoamin in #5248
- rbd: do not start the healer for NBD on non-Kubernetes platforms by @nixpanic in #5247
Continuous Integration and Testing
- e2e: ceph-csi-operator deployment support by @iPraveenParihar in #4947
- e2e:
Skip()inside a test case causes other cases to be skipped by @nixpanic in #5253 - ci: update mergify rules for K8s v1.32 by @iPraveenParihar in #5050
- ci: update minikube to v1.35.0 by @nixpanic in #5083
- ci: update rule for ci/skip/e2e by @ShravaniVangur in #5208
- ci: update CSI_UPGRADE_VERSION to v3.13.1 by @Rakshith-R in #5213
- ci: check for modified files after go mod checks by @Rakshith-R in #5223
- ci: cleanup golangci configuration by @nixpanic in #5231
- ci: fix codespell and lint issues by @Nikhil-Ladha in #5242
Deployment
Documentation
- doc: guide for static PVC creation by @MondayCha in #4997
- doc: Add hint that the userID must not include the
client.prefix by @Mtze in #5072 - doc: update doc for disaster recovery by @yati1998 in #4905
- doc: Removes Helm 2 related documentation by @ShravaniVangur in #5111
- doc: update docs & mergifyio rules to prepare for v3.14 release by @Rakshith-R in #5266
Other
- util: return correct status code for VolumeGroupSnapshot by @Nikhil-Ladha in #5024
- util: do not use
mount-utils.IsLikelyNotMountPointanymore by @nixpanic in #5203
Build and Cleanups
- build: refactor dockerfile to simplify selinux config directory creation by @guoard in #4991
- build: include
--nobestwhile upgrading the devel container packages by @nixpanic in #5008 - build: update Go 1.23 by @iPraveenParihar in #5036
- build: reinstall the ceph-release package by @nixpanic in #5137
- build: update rook version to v1.16.4 by @iPraveenParihar in #5181
- build: the Fedora container image is now maintained at quay.io by @nixpanic in #5190
- build: move e2e dependencies into
e2e/go.modby @nixpanic in #5188 - build: prepare for v3.14.0 by @Rakshith-R in #5268
Updates of dependencies
- rebase: bump github.com/aws/aws-sdk-go-v2/service/sts from 1.33.1 to 1.33.2 in the github-dependencies group by @dependabot in #4993
- rebase: bump sigs.k8s.io/controller-runtime from 0.19.2 to 0.19.3 in the k8s-dependencies group by @dependabot in #4992
- rebase: bump google.golang.org/grpc from 1.68.0 to 1.68.1 by @dependabot in #5005
- rebase: bump github/codeql-action from 3.27.5 to 3.27.6 by @dependabot in #5006
- rebase: bump golang.org/x/crypto from 0.29.0 to 0.31.0 by @dependabot in #5014
- rebase: bump golang.org/x/net from 0.31.0 to 0.32.0 in the golang-dependencies group across 1 directory by @dependabot in #5022
- rebase: bump github/codeql-action from 3.27.6 to 3.27.9 by @dependabot in #5026
- rebase: bump github.com/onsi/gomega from 1.36.0 to 1.36.1 in the github-dependencies group by @dependabot in #5027
- rebase: bump google.golang.org/grpc from 1.68.1 to 1.69.0 by @dependabot in #5028
- rebase: bump google.golang.org/protobuf from 1.35.2 to 1.36.0 by @dependabot in #5029
- rebase: bump github.com/ceph/go-ceph from 0.30.1-0.20241102143109-75d1af3ed638 to 0.31.0 by @dependabot in #5044
- rebase: bump google.golang.org/grpc from 1.69.0 to 1.69.2 by @dependabot in #5045
- rebase: bump golang.org/x/oauth2 from 0.24.0 to 0.25.0 in /actions/retest by @dependabot in #5052
- rebase: bump google.golang.org/protobuf from 1.36.0 to 1.36.2 by @dependabot in #5059
- rebase: bump the golang-dependencies group across 1 directory with 3 updates by @dependabot in #5053
- rebase: bump sigs.k8s.io/controller-runtime from 0.19.3 to 0.19.4 in the k8s-dependencies group by @dependabot in #5070
- rebase: bump github/codeql-action from 3.27.9 to 3.28.1 by @dependabot in #5076
- rebase: bump google.golang.org/grpc from 1.69.2 to 1.69.4 by @dependabot in #5075
- rebase: update csi-resizer to v1.13.1 by @nixpanic in #5071
- rebase: update Kubernetes CSI sidecars to current versions by @nixpanic in #5088
- rebase: bump golang.org/x/net from 0.26.0 to 0.33.0 in /api by @dependabot in #5091
- rebase: bump google.golang.org/protobuf from 1.36.2 to 1.36.3 by @dependabot in #5095
- rebase: bump k8s.io/api from 0.31.3 to 0.32.1 in /api in the k8s-dependencies group across 1 directory by @dependabot ...
v3.13.1
v3.13.1 release notes
This minor release includes one of the important deployment change for VolumeGroupSnapshot. External snapshotter has changed the flag to enable volumegroupsnapshot from enable-volume-group-snapshots to feature-gates=CSIVolumeGroupSnapshot=true. Now users can use v3.13.1 with snapshot controller version v8.2.0 .
What's Changed
RBD
- RBD: add snap delete function (backport #5000) by @mergify in #5031
- RBD: Flatten group snapshot (backport #4973) by @mergify in #5032
- rbd: return group not found error for Get,Delete RPC calls (backport #5001) by @mergify in #5037
- rbd: rename groupNamePrefix to volumeGroupNamePrefix (backport #5063) by @mergify in #5065
- rbd: add check to getVolumeReplicationInfo (backport #5078) by @mergify in #5080
- rbd: correct default encryption type (backport #5087) by @mergify in #5089
- rbd: use correct radosNamespace (backport #5099) by @mergify in #5100
- rbd: fix bug in rbdVol.Exists() in PVC-PVC clone case (backport #5159) by @mergify in #5161
- rbd: add validation to ToCSI() for rbdVolume and rbdSnapshot (backport #5151) by @mergify in #5167
- rbd: fix encrypted PVC with metadata KMS cannot be deleted (backport #5149) by @mergify in #5176
Deployment
- helm: Add missing RBAC for nodes to cephfs chart (backport #5126) by @mergify in #5128
- update VolumeGroupSnapshot to v1beta1 (backport #5021) by @mergify in #5030
Continuous Integration and Testing
Build and Cleanups
- build: reinstall the ceph-release package (backport #5137) by @mergify in #5142
- build: the Fedora container image is now maintained at quay.io (backport #5190) by @mergify in #5192
- build: prepare of 3.13.1 by @yati1998 in #5189
Updates of dependencies
Other
Full Changelog: v3.13.0...v3.13.1
v3.13.0
v3.13.0 release notes
We are excited to announce another release of Ceph CSI, v3.13.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:
Features
Deployment
- helm: Expose csi sidecar metrics for cephfs, rbd, and nfs by @Nikhil-Ladha in #4887
- helm: Support setting annotations for nodePlugin and provisioner by @mvollman in #4908
- helm: support encryption config in ceph-csi-cephfs chart by @acolombier in #4531
RBD
- rbd: volumeGroupSnapshot support by @nixpanic in #4502
- rbd: advertise health conditions cap by @Madhu-1 in #4816
- rbd: implement GetFenceClients to return the ceph clusterID and the client Address by @Madhu-1 in #4944
- rbd: add a timeout for cryptsetup commands by @black-dragon74 in #4912
CephFS
- CephFS: support omap data store in radosnamespace by @iPraveenParihar in #4661
- cephfs: log clone progress during a clone operation by @Nikhil-Ladha in #4918
Other
What's Changed
CephFS
- cephfs: add examples for volumegroupsnapshot by @yati1998 in PR
- cephfs: fix Removal of IPs from blocklist by @black-dragon74 in #4815
- cephfs: return correct error message by @yati1998 in #4858
- cephfs: correct error code for volumegroupsnapshot by @yati1998 in #4863
- CephFS: support omap data store in radosnamespace by @iPraveenParihar in #4661
- cephfs: log clone progress during a clone operation by @Nikhil-Ladha in #4918
- cephfs: remove extraneous creation of credentials by @black-dragon74 in #4986
RBD
- rbd: add immediate topology flag by @iPraveenParihar in #4790
- rbd: add image size in toSnapshot by @Madhu-1 in #4791
- rbd: add a check for CSI pv by @Madhu-1 in #4808
- rbd: move common functions for VolumeGroup structs into own type by @nixpanic in #4794
- RBD: advertise health conditions cap by @Madhu-1 in #4816
- rbd: fail DisableVolumeReplication() if image is not mirror disabled by @Rakshith-R in #4832
- rbd: rename
setImageOptions()toconstructImageOptions()by @nixpanic in #4833 - rbd: prevent panic when using rbdImage that is not connected by @nixpanic in #4841
- rbd: prevent re-use of destroyed resources by @nixpanic in #4870
- rbd: replace Manager.DeleteVolumeGroup() by VolumeGroup.Delete() by @nixpanic in #4872
- rbd: move repairImageID() from rbdVolume struct to rbdImage by @nixpanic in #4871
- rbd: consider ErrPermissionDenied for vol by @Madhu-1 in #4883
- rbd: use the new go-ceph rbd.ErrExist for checking rbd.GroupCreate() by @nixpanic in #4886
- rbd: validate IOContext before getting the list of trashed images by @nixpanic in #4884
- rbd: add feature check to see if GroupSnapGetInfo is available by @nixpanic in #4898
- rbd: add types.Snapshot interface by @nixpanic in #4902
- rbd: add timeout for cryptsetup commands by @black-dragon74 in #4912
- rbd: volumeGroupSnapshot support by @nixpanic in #4502
- rbd: cleanup inconsistent state in
reserveSnap()after a failure by @nixpanic in #4946 - rbd: add locking for VolumeGroupSnapshot operations by @nixpanic in #4949
- rbd: added rbd info to validateRBDImageCount func by @OdedViner in #4938
- rbd: fixes related to flatten operation in PVC restored from snapshot by @Rakshith-R in #4960
- rbd: implement GetFenceClients to return the ceph clusterID and the client Address by @Madhu-1 in #4944
Continuous Integration and Testing
- ci: update mergify config to replace, and remove deprecated attributes by @Nikhil-Ladha in #4789
- ci: update CSI_UPGRADE_VERSION to v3.12.1 by @iPraveenParihar in #4785
- ci: pass the correct account token for Snyk jobs by @nixpanic in #4797
- ci: make minikube.sh work on macOS M1 with the qemu2 driver by @zjx20 in #4368
- ci: update to Minikube v1.34.0 by @nixpanic in #4834
- ci: harden GitHub Actions by @Nikhil-Ladha in #4850
- ci: enable more tests for rbd by @Madhu-1 in #4880
- ci: use private retest github action by @Nikhil-Ladha in #4879
- ci: fix Dockerfile path for snyk container action by @Nikhil-Ladha in #4897
- e2e: add e2e volume group snapshot by @Madhu-1 in #4830
- e2e: enable more k8s storage tests by @Madhu-1 in #4874
- e2e: add a test case of ROX PVC-PVC clone by @Madhu-1 in #4919
- e2e: enhance volumegroupsnapshot test by @Madhu-1 in #4934
- e2e: add tests for RBD VolumeGroupSnapshots by @nixpanic in #4899
Deployment
- helm: don't specify default topology domainlabels in rbd chart by @Infinoid in #4776
- helm: Always add nodes read permissions to provisioner ClusterRole by @dragoangel in #4798
- helm: Optionally set userID and userKey in cephfs chart. by @james-choncholas in #4801
- helm: remove kube version check by @Madhu-1 in #4817
- helm: Expose csi sidecar metrics for cephfs, rbd and nfs by @Nikhil-Ladha in #4887
- helm: Support setting annotations for nodePlugin and provisioner by @mvollman in #4908
- helm: support encryption config in ceph-csi-cephfs chart by @acolombier in #4531
Documentation
- doc: Remove the 400 snapshot limitation by @black-dragon74 in #4803
- doc: fix code spell problem by @Madhu-1 in #4821
- doc: remove contacts from Readme by @Madhu-1 in #4846
- doc: reset PendingReleaseNotes.md by @Madhu-1 in #4854
- doc: add cephfs vsg to readme by @Madhu-1 in #4873
- doc: add VolumeGroupSnapshot examples for RBD by @nixpanic in #4901
- doc: restructure the doc folder by @yati1998 in #4907
- doc: fixed broken links by @seadog007 in #4958
- doc: doc update for v3.13 release (backport #4994) by @mergify in #5010
Other
- util: log slow GRPC calls by @gman0 in #4847
- bug: prevent data loss due to the concurrent RPC calls (occurrence is very low) by @Madhu-1 in #4970
- util: use protobuf encoding for core k8s apis by @Nikhil-Ladha in #4868
- cleanup: use
errandtargetin recommended order toerrors.Is()by @nixpanic in #4903 - journal: only destroy the connection if it is set by @nixpanic in #4904
Build and Cleanups
- build: Use Go v1.22.5 by @black-dragon74 in #4786
- build: no need to use the CentOS 8 archived repositories on CentOS 9 by @nixpanic in #4911
- build: include
--nobestwhile upgrading the devel container packages (backport #5008) by @mergify in #5009 - build: prepare of 3.13.0 by @Rakshith-R in #5007
Updates of dependencies
- rebase: bump the github-dependencies group across 1 directory with 4 updates by @dependabot in #4787
- rebase: bump golang.org/x/net from 0.22.0 to 0.23.0 in /actions/retest by @dependabot in #4799
- rebase: bump golang.org/x/oauth2 from 0.18.0 to 0.22.0 in /actions/retest by @dependabot in #4805
- rebase: bump the github-dependencies group with 3 updates by @depend...
Ceph-CSI v3.12.3 Release
v3.12.2
What's Changed
- helm: Always add nodes read permissions to provisioner ClusterRole (backport #4798) by @mergify in #4810
- rbd: add a check for CSI pv (backport #4808) by @mergify in #4812
- helm: remove kube version check (backport #4817) by @mergify in #4818
- build: prepare for 3.12.2 release by @Madhu-1 in #4822
Full Changelog: v3.12.1...v3.12.2
Ceph-CSI v3.12.1 Release
What's Changed
Important Note: Users using topology-aware provisioning are now required to set the set TopologyConstrainedPools: <...> and volumeBindingMode: WaitForFirstConsumer in the StorageClass and to configure the --domainlabels flag in the RBD nodeplugin. Refer to #4790 for more information.
- revert: changes for canary image for release-3.12 branch by @Madhu-1 in #4772
- helm: don't specify default topology domainlabels in rbd chart (backport #4776) by @mergify in #4778
- build: Use Go v1.22.5 (backport #4786) by @mergify in #4792
- rbd: add immediate topology flag (backport #4790) by @mergify in #4793
- rbd: add image size in toSnapshot (backport #4791) by @mergify in #4795
- deploy: update templates to v3.12.1 by @Rakshith-R in #4783
Full Changelog: v3.12.0...v3.12.1
v3.12.0
3.12.0 release notes
Important Note: Users are requested to use Ceph CSI v3.12.1 instead.
We are excited to announce another release of Ceph CSI, v3.12.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:
Features
Deployment
- deploy: podSecurityContexts can be configured for ceph-csi-cephfs chart in PR.
- deploy: podSecurityContexts can be configured for ceph-csi-rbd chart in PR
- deploy: instanceID can be optionally configured for ceph-csi charts in PR
- deploy: radosNamespaceCephFS can be configured for ceph-csi-cephfs chart in PR
RBD
- rbd: add support for flattenMode option for replication in PR
CephFS
- cephfs: support omap data store in radosnamespace via cli argument in PR
Ceph distribution update
- build: update ceph release to squid in PR
- build: CentOS Stream 9 is used as OS in the container-images PR
What's Changed
CephFS
- cephfs: Add volumesnapshotclass for external-storage by @Madhu-1 in #4541
- cephfs: Avoid hanging lock in volume mutex lock by @Sunnatillo in #4725
- cephfs: close dir by @testwill in #4631
- cephfs: correct the id for cephfs locks by @NymanRobin in #4731
- cephfs: upgrade fscrypt version to fix concurrency issue by @NymanRobin in #4609
RBD
- Implement EncryptionKeyRotation spec by @black-dragon74 in #4690
- rbd: add backend support for VolumeGroup operations by @nixpanic in #4719
- rbd: add ParentInTrash parameter in rbdImage struct by @Rakshith-R in #4522
- rbd: add support for flattenMode option for replication by @Rakshith-R in #4678
- rbd: add VolumeGroup.ModifyVolumeGroupMembership CSI-Addons operation by @nixpanic in #4729
- rbd: add volume locks for reclaimspace operations by @iPraveenParihar in #4641
- rbd: base implementation for CSI-Addons VolumeGroup by @nixpanic in #4707
- rbd: implement CSI-Addons ControllerGetVolumeGroup operation by @nixpanic in #4733
- RBD: improvments to existing code to better align with volumegroup by @Madhu-1 in #4743
- rbd: make CreateVolumeGroup more idempotent by @nixpanic in #4730
- rbd: pre-work for VolumeGroup support by @nixpanic in #4701
- rbd: refactor mirroring to work with volume and volumegroup by @Madhu-1 in #4720
- rbd: remove topologyConstrainedPools parameter by @iPraveenParihar in #4499
- rbd: use internal as default error code in getGRPCError() by @Rakshith-R in #4671
- rbd: use ioctx locks for key rotation by @black-dragon74 in #4734
Continuous Integration and Testing
- ci: add more tests for cephfs external test by @Madhu-1 in #4568
- ci: add test for uncommitted changes in deploy directory by @Nikhil-Ladha in #4759
- ci: do not add the
ok-to-testlabel if there is a conflict by @nixpanic in #4557 - ci: do not require Kubernetes 1.26 tests for the devel branch by @nixpanic in #4578
- ci: install ruby-devel in test container by @Madhu-1 in #4622
- ci: prevent breakage when including certain commands in the PR by @nixpanic in #4751
- ci: prevent incorrect pattern matching for
skipping cicommand by @nixpanic in #4754 - ci: remove feature gates by @Madhu-1 in #4766
- ci: remove k8s 1.30 tests check by @iPraveenParihar in #4647
- CI: remove used rules from mergify config file by @Madhu-1 in #4533
- ci: run snapshot tests and expand tests by @Madhu-1 in #4545
- ci: update centos stream 8 baseurl by @iPraveenParihar in #4658
- ci: Update golangci lint and helm version by @Madhu-1 in #4539
- ci: update PR-commenter and Mergify for Kubernertes 1.26/1.30 by @nixpanic in #4589
- ci: upgrade_version update by @karthik-us in #4537
- ci: use latest Fedora container-image by @nixpanic in #4745
- ci: Use temporary directory for unit tests by @mayankpall in #4626
- e2e: retry when a pod does not have a host assigned (yet) by @nixpanic in #4669
Deployment
- deploy: configurable podSecurityContexts in ceph-csi-cephfs chart by @1602077 in #4664
- deploy: configurable podSecurityContexts in ceph-csi-rbd by @1602077 in #4668
- deploy: setting RequiredDropCapabilities to ALL for ceph-csi scc by @ShravaniVangur in #4767
- helm: add cli argument instanceid by @zerotens in #4666
Documentation
- doc: add release note for flattenMode option by @Rakshith-R in #4737
- doc: inform users that the OS in the container-image is updated by @nixpanic in #4744
- doc: Remove podSecurityPolicy from helm docs by @black-dragon74 in #4746
- doc: reset PendingReleaseNotes.md to v3.12.0 by @Rakshith-R in #4670
- docs: proposal for providing PV key rotation by @black-dragon74 in #4655
- doc: update coding guideline to suggest to place local imports last by @nixpanic in #4721
- doc: update dev standup day to Monday by @Rakshith-R in #4696
- Fix the Slack invite link on the README by @tullis in #4621
- helm: fix typo in document by @Madhu-1 in #4718
Journaling
- journal: fix empty csiCreationTimeKey value by @iPraveenParihar in #4755
- journal: store CreationTime for VolumeGroups by @nixpanic in #4753
- journal: Update group journal to accomudate rbd group by @Madhu-1 in #4687
Build and Cleanups
- build: include MirrorDaemonCount in the ConfigMap API by @nixpanic in #4577
- build: prepare of 3.12.0 by @Madhu-1 in #4770
- build: prevent "Operation not supported" failures while extracting Golang in CI jobs by @nixpanic in #4584
- build: update ceph image and rook version by @Madhu-1 in #4736
- build: use Go 1.21.9 to include latest security fixes by @nixpanic in #4554
- build: use Go 1.22 by @nixpanic in #4593
- cleanup: client cert decoding is not required by @iPraveenParihar in #4558
- cleanup: destroy connections after .Copy() an other one by @nixpanic in #4524
- cleanup: incorrect fuserecovery logging by @iPraveenParihar in #4598
- cleanup: remove global CSIInstanceID and pass configured value instead by @nixpanic in #4747
- cleanup: rename EncryptionTypeString() to EncryptionType.String() by @nixpanic in #4525
Updates of dependencies
- csiaddons: update csi-addons spec by @Madhu-1 in #4692
- deploy: update CSI sidecar driver-registrar to v2.11.1 by @iPraveenParihar in #4717
- deploy: update CSI sidecars to latest versions available by @iPraveenParihar in #4573
- deploy: update CSI sidecars to latest versions available by @iPraveenParihar in #4660
- rebase: bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.5.1 to 1.6.0 by @dependabot in #4676
- rebase: bump github.com/ceph/go-ceph from 0.26.1-0.20240319113421-755481f8c243 to 0.27.0 by @dependabot in #4560
- rebase: bump github.com/ceph/go-ceph from 0.27.0 to 0.28.0 by @dependabot in #4685
- rebase: Bump github.com/c...