OpenEBS - v4.0.0


Release Summary

OpenEBS 4.0.0 is a major milestone towards simplification of the overall user experience. With the guidance of the governing body CNCF (Cloud Native Computing Foundation), significant changes have been made to the structure and architecture of OpenEBS. These changes were deemed necessary for the long-term health and maintenance of the project, tracked with an issue here.

In a nutshell, the changes can be broadly classified into the following categories:
- Deprecation of older and legacy engines
- Restructuring of the technical documentation
- A unifying experience during installation

These are in addition to the vast majority of super cool features and enhancements to the local and replicated storage solutions, that OpenEBS is well-known for.

With this release, OpenEBS plans to re-enter the CNCF landscape as a Sandbox project and establish itself as the most popular and leading cloud-native storage solution for Kubernetes stateful workloads.

Deprecation of Legacy Solutions

Prior to the release 4.0.0, OpenEBS had the following solutions or engines:

Local Engines

  1. LocalPV Hostpath (Out-of-tree non-CSI provisioner)
  2. LocalPV Device (Out-of-tree non-CSI provisioner)
  3. LVM LocalPV (CSI provisioner)
  4. ZFS LocalPV (CSI provisioner)
  5. Device LocalPV (CSI provisioner)
  6. Rawfile LocalPV (CSI provisioner)

Replicated Engines

  1. Jiva (CSI provisioner)
  2. CStor (CSI provisioner)
  3. Mayastor (CSI provisioner)

RWM

  1. NFS provisioner

Auxiliary

  1. Node Device Manager (NDM)
  2. Monitoring
  3. Velero Plugin for Data Protection
  4. Data Populator

In 4.0.0, the maintainers have decided to trim down the above list, for improved focus and sustained future maintenance. This was a tough but strategic decision. Several factors like adoption, relevance, available expertise, and a bit of common sense (😉) have been taken into account in the retention of the engines and technologies that OpenEBS wants to move forward with.

The new and re-organized structure of OpenEBS comprises the following:

Local Engines

  1. Local PV Hostpath (Out-of-tree non-CSI provisioner)
  2. Local PV LVM (CSI provisioner)
  3. Local PV ZFS (CSI provisioner)

Replicated Engines

  1. Replicated PV Mayastor (CSI provisioner)

Auxiliary

  1. Monitoring
  2. Velero Plugin for Data Protection
  3. Data Populator

With the inclusion of the above engines, OpenEBS can cater to an almost 900,000 strong user-base. For the users of the legacy engines (those will soon be deprecated), we would like to offer our whole-hearted gratitude for being the early adopters and supporters of OpenEBS and contributing to the maturity that OpenEBS has reached today. Migration procedures are documented here to migrate data from legacy OpenEBS engines to OpenEBS 4.0.0 storage.

ℹ️ Info
The code and dependent repositories associated with the legacy deprecated projects and engines will soon be transferred from GitHub openebs organization to GitHub openebs-archive organization. This issue here provides the background.

Restructuring Tech Docs

Before 4.0.0, OpenEBS had its technical documentation distributed across two websites:
1. https://openebs.io/docs - Hosts tech docs for all engines except Mayastor
2. https://mayastor.gitbook.io/ - Hosts tech docs for Mayastor

Release 4.0.0 integrates OpenEBS Local and Replicated Storage documentation, and publishes them in the https://openebs.io/docs website. The release also cleans up the contents related to the legacy engines that are now deprecated.

Since the documentation is versioned, users of legacy engines would still be able to view the contents as follows:
- Documentation for non-Mayastor engines (v3.10.x or earlier) will be available at https://openebs.io/docs/3.10.x/.
- Documentation for Mayastor (v2.5 or earlier) will be available at https://mayastor.gitbook.io/introduction/v/version-2.5.

One Installer

OpenEBS 4.0.0 Helm chart is the supported way to install both OpenEBS Local and Replicated engines. The OpenEBS 4.0.0 Helm chart bundles sub-charts for the following components:
1. Local PV Hostpath
2. Local PV LVM
3. Local PV ZFS
4. Replicated PV Mayastor
5. Kubernetes Snapshot CRDs

All of the above storage components are installed as part of the default installation. The Helm chart provides an option to exclude Mayastor, for users interested in only Local PV storage.

ℹ️ Info
The operator.yaml way of installing individual OpenEBS engines has now been deprecated. It is also not recommended to independently install the various Helm sub-charts.

Component Versions

OpenEBS is a collection of data engines and operators to create different types of Local and Replicated Persistent Volumes (PVs) for Kubernetes stateful workloads. Kubernetes PVs can be provisioned via Container Storage Interface (CSI) Drivers or using Out-of-tree Provisioners. The status of the various components as of v4.0.0 are as follows:

Change Summary

A detailed changelog is available under the component repositories listed above. Here is a quick summary of what has changed since the last release.

Local Storage

  • Deprecated device-localpv from Dynamic LocalPV Provisioner.
  • CVE fixes in Local PV Hostpath.
  • CSI controller changed to K8s kind ‘Deployment' from 'STS’ for Local PV LVM and Local PV ZFS.
  • Ability to have custom value for label openebs.io/nodeid in Local PV ZFS.

Replicated Storage

  • Online and offline volume expansion support in Replicated PV Mayastor.
  • Ability to take file-system consistent snapshots in Replicated PV Mayastor.
  • Enhanced product event generation capabilities.
  • Pool, Volume, and Replica performance metrics as part of metrics exporter.

ℹ️ Info
There will be no version updates for the auxiliary components like the Velero-plugin, Monitoring, and Data Populator in this release. There will be focused changes on removing legacy support in these projects before releasing updated versions for these projects.

Upgrade and Backward Incompatibilities

Before deciding to upgrade, review the list below:
- Kubernetes 1.23 or higher is recommended to install this release.
- Upgrade to OpenEBS 4.0.0 is only supported for the selected engines namely Local PV Hostpath, Local PV LVM, Local PV ZFS, and Replicated PV Mayastor from the earlier editions of OpenEBS (3.10.x or below).
- Refer to the documentation for more details.
- Documented migration procedures have been provided for the deprecated engines.


Details

date
April 16, 2024, 3:01 p.m.
name
v4.0.0
type
Major
👇
Register or login to:
  • 🔍View and search all OpenEBS releases.
  • 🛠️Create and share lists to track your tools.
  • 🚨Setup notifications for major, security, feature or patch updates.
  • 🚀Much more coming soon!
Continue with GitHub
Continue with Google
or