Ceph CSI v3.1.0 out with CephFS snapshot , restore and clone, RADOS namespace support!

We are excited to announce one more feature packed release of ceph-csi, v3.1.0 !!. Couple of weeks ago we released v3.0.0, and we are proud to bring one more release pretty close with important features and enhancements.

This release enables you to take a snapshot of a CephFS volume, Restore Snapshot to new volume and also do PVC clone on CephFS PV. We also got RADOS namespace support for RBD plugin from a community contributor in this release.!

More details about the release is available here @ https://github.com/ceph/ceph-csi/releases/tag/v3.1.0. The container image is tagged with “v3.1.0” and is downloadable by #docker pull .

Changelog or Highlights:
New Features:

Create/Delete snapshot for CephFS
Create PVC from CephFS snapshot
Create PVC from CephFS PVC
Add RADOS namespace support for RBD

Enhancement:

E2E migration from Travis minikube to CentOS CI
Use common logging functions in utils
Add Upgrade E2E testing from 3.0.0 to 3.1.0
Update Sidecars to the latest version
Add vault creation to rbd driver deployment
Update E2E testing to test with latest kubernetes versions
Update Rook to 1.3.8 for E2E testing
Add backend validation of cephfs PVC in E2E
Make the number of CPUs for minikube VM configurable
Use rbdVolume.resize() with go-ceph
Introduce new makefile target run-e2e
upgrade to minikube 1.12.1
Debugging tool (tracevol.py) enhancement

Bug Fix:

Fix tracevol.py to work with the dynamic value of fsname
Fix tracevol.py to take config map namespace as an option

Breaking Changes

None.

NOTE: At present, there is a limit of 400 snapshots per cephFS filesystem.
Also PVC cannot be deleted if it’s having snapshots. Make sure all the snapshots
on the PVC are deleted before you delete the PVC.

Many other bug fixes, code improvements are also part of this release.

Just to touch upon the new features:

CephFS snapshot, restore and clone:

This functionlity allows a user to create VolumeSnapshot Objects on top of CephFS PVCs which is nothing but the snapshots. Snapshots have many use cases and its an important feature in many areas to make sure you have the point in time copy of the data. Once you have the snapshot you can restore this to a new PVCs and attach or use it in the workload. This operation is totally independent to Parent Volume or snapshot objects. Clone functionality is bit different, that said, it allows you to create a clone of an existing PVC to a new PVC, so that you get another copy of the existing PVC which can be independently used!

RADOS namespace support

This would allow multiple kubernetes clusters to share one unique ceph cluster without creating a pool per kubernetes cluster. Pools in ceph can be a computationally expensive as stated in documentation and namespaces are the recommended way to segregate tenants/users. The kubernetes admin can specify a ceph namespace to use in the helm chart and all ceph’s operations done in the backend are automatically using –namespace=$mynamespace. Hence, all rbd operations are going to the specified namespace.
A different kubernetes cluster using a different ceph client, could be assigned to a different ceph’s namespace and would not be able to see the image done by the first cluster.

This is an important feature for multi tenant use cases!!

Please read more about Ceph Namespaces here https://docs.ceph.com/docs/master/rados/operations/user-management/#namespace

Kubernetes and sidecar updates

The kubernetes dependency and all the sidecars ( external provisioner, attacher, resizer..etc) are updated to latest versions available in upstream which got many bug fixes, code improvements..etc

Few other enhancements

There are many code cleanups, E2E enhancements..etc with this release. One of the notable or worth to mention change here is the migration of CI from Travis to CentOS CI!
Improvements in tracevol.py to make the debugging easier is also part of this release.

Thanks to Rook community to include this CSI release without any delay and make it available with Rook 1.4.1 (https://github.com/rook/rook/releases/tag/v1.4.1)!

Kudos to the Ceph CSI community for all the hard work to reach this critical milestone!

The Ceph-CSI project ( https://github.com/ceph/ceph-csi/), as well as its thriving community, has continued to grow and the contribution from community increases with each release in terms of code contribution, discussion on the features/issues..etc.

We are marching towards v3.2.0 and at a stage where collecting a wishlist from the community for the features we want to pull in the upcoming release.
Please engage and share your thoughts/ideas here : https://github.com/ceph/ceph-csi/issues/1340

Reach us at slack (cephcsi.slack.com) or at github: https://github.com/ceph/ceph-csi/

Happy Hacking!

Digiprove sealCopyright secured by Digiprove © 2020 Humble Chirammal