Changelog or Highlights:
Features:
Async DR
- A new volume replication protobuf and specification to achieve the Volume replication has been added with Ceph CSI driver.
Ceph CSI has implemented the required GRPC services ( EnableVolumeReplication, DisableVolumeReplication, PromoteVolume, DemoteVolume, ResyncVolume..etc) for volume replication. A new sidecar controller will be deployed as part of the RBD provisioner pod which will expose the CRD to a user to interact with the Ceph cluster for DR operations. When a User creates a CR with the PVC name, the new operator will get the required pvc and PV information and send a request to the ceph csi to perform the rbd async operation.
Encryption
-
Users will be able to configure AWS KMS for Ceph-CSI volume encryption. This makes it possible to have in-flight encrypted data, and securely stored volume contents on Ceph clusters outside of the control/responsibility of the Ceph-CSI deployer. With this addition
- users can enable volume encryption in a StorageClass
- the CMK configured in Amazon KMS will be used for encrypting/decrypting the DEKs
- the encrypted DEK for a volume will be stored in the volumes metadata
-
Snapshot and cloning on encrypted RBD PVCs are enabled.
Multus Support
- Added support for network namespaces (Multus CNI)
Enhancement:
- Update Kubernetes sidecars to latest releases
- Update go-ceph to the latest release
- The external snapshotter APIs are updated from v1beta1 to V1
- Proper reuse of go ceph cluster Connections are established with this release.
- Fixed many warnings/errors reported by static code analyzers
- CSI driver creates a CSIDriver object, Kubernetes users can easily discover the CSI Drivers installed on their cluster (simply by issuing kubectl get CSIDriver)
- E2E tests are added/updated with this release to make sure the stability of the code achieved on various use cases and also for new features.
- Build utilities and dependencies are updated to latest versions.
- CSI driver deployment yamls are updated and various helm chart fixes for snapshot controller deployment, RBAC permissions...etc are part of this release.
CI
- Make use of ceph users created in e2e
- Enhanced e2e logging for failure debugging
- Track deletion of PVC and PV more closely
- Error out in case deploying Hashicorp Vault fails
- Added e2e for snapshot retention case/scenario
- Updated feature gate settings from minikube
- Verify (non)existence of keys for VaultTokensKMS
- Pass namespace once in deletePodWithLabel()
- Use secret with "encryptionPassphrase" for RBD tests
Documentation
- Updated snapshot and clone documentation
- Updated Encryption documentation for new KMS provider support and for other enhancements
- Corrected various reference link issues on doc
- Upgrade documentation is updated for release 3.3
- Updated release matrix and compatibility docs
- Various cleanups and corrections in general.
Breaking Changes
None
NOTE:
Ceph CSI repo Master
branch has been renamed to Devel