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
err
andtarget
in 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
--nobest
while 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 @dependabot in #4806
- rebase: bump the github-dependencies group with 2 updates by @dependabot in #4819
- rebase: bump the golang-dependencies group with 3 updates by @dependabot in #4825
- rebase: bump the github-dependencies group with 2 updates by @dependabot in #4826
- rebase: bump golang.org/x/oauth2 from 0.22.0 to 0.23.0 in /actions/retest by @dependabot in #4827
- rebase: bump google.golang.org/grpc from 1.65.0 to 1.66.0 by @dependabot in #4820
- rebase: bump k8s.io/api from 0.31.0 to 0.31.1 in /api in the k8s-dependencies group by @dependabot in #4842
- rebase: bump github.com/hashicorp/vault/api from 1.14.0 to 1.15.0 in the github-dependencies group by @dependabot in #4844
- rebase: bump google.golang.org/grpc from 1.66.0 to 1.66.2 by @dependabot in #4845
- rebase: bump the github-dependencies group with 2 updates by @dependabot in #4859
- rebase: bump github/codeql-action from 3.26.7 to 3.26.8 by @dependabot in #4861
- rebase: bump google.golang.org/grpc from 1.66.2 to 1.67.0 by @dependabot in #4860
- rebase: update kube dep to x.31.1 by @Madhu-1 in #4867
- rebase: bump github.com/aws/aws-sdk-go-v2/service/sts from 1.31.1 to 1.31.3 in the github-dependencies group by @dependabot in #4875
- rebase: bump github/codeql-action from 3.26.8 to 3.26.10 by @dependabot in #4876
- rebase: bump actions/checkout from 4.1.7 to 4.2.0 by @dependabot in #4877
- rebase: bump actions/checkout from 4.2.0 to 4.2.1 by @dependabot in #4888
- rebase: bump github/codeql-action from 3.26.10 to 3.26.12 by @dependabot in #4889
- rebase: bump github.com/aws/aws-sdk-go-v2/service/sts from 1.31.3 to 1.32.1 in the github-dependencies group by @dependabot in #4891
- rebase: bump the golang-dependencies group with 3 updates by @dependabot in #4890
- rebase: bump google.golang.org/protobuf from 1.34.2 to 1.35.1 by @dependabot in #4892
- rebase: bump google.golang.org/grpc from 1.67.0 to 1.67.1 by @dependabot in #4893
- rebase: bump github/codeql-action from 3.26.12 to 3.26.13 by @dependabot in #4909
- rebase: bump the github-dependencies group with 2 updates by @dependabot in #4910
- rebase: bump github.com/ceph/go-ceph from 0.29.1-0.20240925141413-065319c78733 to 0.30.0 by @dependabot in #4915
- rebase: bump github.com/prometheus/client_golang from 1.20.4 to 1.20.5 in the github-dependencies group by @dependabot in #4914
- rebase: bump actions/checkout from 4.2.1 to 4.2.2 by @dependabot in #4920
- rebase: bump actions/dependency-review-action from 4.3.4 to 4.4.0 by @dependabot in #4921
- rebase: bump github/codeql-action from 3.26.13 to 3.27.0 by @dependabot in #4922
- rebase: bump the github-dependencies group with 2 updates by @dependabot in #4925
- rebase: bump the k8s-dependencies group with 2 updates by @dependabot in #4923
- rebase: bump k8s.io/api from 0.31.1 to 0.31.2 in /api in the k8s-dependencies group by @dependabot in #4924
- rebase: bump the github-dependencies group with 2 updates by @dependabot in #4943
- rebase: bump github/codeql-action from 3.27.0 to 3.27.1 by @dependabot in #4954
- rebase: bump golang.org/x/oauth2 from 0.23.0 to 0.24.0 in /actions/retest by @dependabot in #4953
- rebase: bump the github-dependencies group with 2 updates by @dependabot in #4951
- rebase: bump the golang-dependencies group with 3 updates by @dependabot in #4950
- rebase: bump google.golang.org/grpc from 1.67.1 to 1.68.0 by @dependabot in #4952
- rebase: bump github.com/aws/aws-sdk-go-v2/service/sts from 1.32.4 to 1.33.1 in the github-dependencies group by @dependabot in #4963
- rebase: bump github/codeql-action from 3.27.1 to 3.27.4 by @dependabot in #4965
- rebase: bump google.golang.org/protobuf from 1.35.1 to 1.35.2 by @dependabot in #4964
- rebase: bump github/codeql-action from 3.27.4 to 3.27.5 by @dependabot in #4982
- rebase: bump actions/dependency-review-action from 4.4.0 to 4.5.0 by @dependabot in #4983
- rebase: bump the k8s-dependencies group with 2 updates by @dependabot in #4977
- rebase: bump the github-dependencies group with 3 updates by @dependabot in #4978
- rebase: bump github.com/container-storage-interface/spec from 1.10.0 to 1.11.0 by @dependabot in #4979
- rebase: bump github.com/stretchr/testify from 1.9.0 to 1.10.0 in /api in the github-dependencies group by @dependabot in #4981
- rebase: bump k8s.io/api from 0.31.2 to 0.31.3 in /api in the k8s-dependencies group by @dependabot in #4980
New Contributors
- @Infinoid made their first contribution in #4776
- @james-choncholas made their first contribution in #4801
- @zjx20 made their first contribution in #4368
- @mvollman made their first contribution in #4908
- @seadog007 made their first contribution in #4958
- @acolombier made their first contribution in #4531
- @OdedViner made their first contribution in #4938
Full Changelog: v3.12.3...v3.13.0