Releases: openebs/mayastor
v2.7.4
Release v2.7.4
Release Date: 18th February, 2025
Summary
OpenEBS Mayastor version 2.7.4 provides some important stability bugfixes for the data and control plane.
It's recommended that you upgrade to 2.7.4 from any previous version.
Fixes
- HA: ReShutdown the Target by @tiagolobocastro in openebs/mayastor-control-plane#929
Full Changelog: openebs/mayastor-control-plane@v2.7.3...v2.7.4
v2.8.0
Release v2.8.0
Release Date: 14th Feb., 2025
Summary
OpenEBS Replicated PV Mayastor version 2.8 introduces new features and several critical functional fixes.
Features
NVMEoF-RDMA
Mayastor volume targets now have capability to be shared over RDMA transport, which the application hosts can make use of to get high throughput and reduced latency. The enablement option is provided via helm chart, which needs to be used in combination with existing option of network interface name to provide an RDMA capable interface name. This allows nvme hosts to reap benefits of the high performance RDMA network infrastructure, while talking to storage targets.
CSAL ftl bdev support
The SPDK ftl bdev allows to create a layered device with a (fast) cache device for buffering writes that get eventually flushed out sequentially to a base device. SDPK ftl is also known as the Cloud Storage Acceleration Layer (CSAL). This kind of device potentially enables the use of emerging storage interfaces like Zoned Namespace (ZNS) or Flexible Data Placement (FDP) capable NVMe devices.
Fixes:
[ BUGFIX ] Fabrics connect timeouts by tiagolobocastro · Pull Request #1711 · openebs/mayastor
Cherry-pick PR 917 by tiagolobocastro · Pull Request #921 · openebs/mayastor-control-plane
Cherry pick #905 by Abhinandan-Purkait · Pull Request #909 · openebs/mayastor-control-plane
Cherry-pick 907 by tiagolobocastro · Pull Request #908 · openebs/mayastor-control-plane
Enhancements:
Introduce new CSAL ftl bdev by MaisenbacherD · Pull Request #1771 · openebs/mayastor
Reuse Rebuild IO handles by tiagolobocastro · Pull Request #1755 · openebs/mayastor
Upgrading to SPDK 24.05 by dsavitskiy · Pull Request #1667 · openebs/mayastor
Readiness probe changes by niladrih · Pull Request #900 · openebs/mayastor-control-plane
feat: handle new nvmf uri scheme by dsharma-dc · Pull Request #858 · openebs/mayastor-control-plane
Testing
Mayastor is subject to extensive unit, component and system-level testing throughout the development and release cycle. Resources for system-level (E2E) testing are currently provided by DataCore Software.
At this time, personnel and hardware resource limitations constrain testing by the maintainers to linux builds on x86. This reflects the primary use-case which the maintainers are currently targeting with the OpenEBS Mayastor project. Therefore, the use of Mayastor with other operating systems and/or architectures, if even possible, should be considered serendipitous and wholly experimental.
This release has been subject to End-to-End testing under Ubuntu 20.04.5_LTS (kernel: ubuntu-5.15.0-50-generic)
- Tested k8s versions
- 1.23.7
- 1.24.14
- 1.25.10
Known Behavioural Limitations
-
As with the previous versions, the Mayastor IO engine makes full utilisation of the allocated CPU cores regardless of I/O load. This is the poller operating at full speed, waiting for I/O.
-
As with the previous versions, a Mayastor DiskPool is limited to a single block device and cannot span across more than one block device.
Known Issues
- Mayastor does not support the capacity expansion of DiskPools as of v2.8.0
- Under heavy IO and constant scaling up-down of volume replicas, the io-engine pod has been observed to restart occasionally.
- fsfreeze fails for published,not mounted volume: If a pod-based workload is scheduled on a node that reboots and the pod does not have a controller (such as a Deployment or StatefulSet), the volume unpublish operation is not triggered. This causes the control plane to incorrectly assume that the volume is still published, even though it is not mounted. As a result, the FIFREEZE operation fails during the snapshot process, preventing the snapshot from being taken. The recommended resolution is to reinstate or recreate the pod to ensure proper volume mounting.
New Contributors
Thanks to our new contributors on Mayastor !!
@michaelbeaumont - feat(ha-node): allow listening on IPv6 Pod IPs by michaelbeaumont · Pull Request #873 · openebs/mayastor-control-plane
@MaisenbacherD and @imukherjee-sndk - Introduce new CSAL ftl bdev by MaisenbacherD · Pull Request #1771 · openebs/mayastor
v2.7.3
Release v2.7.3
Release Date: 23rd January, 2025
Summary
OpenEBS Replicated PV Mayastor version 2.7.3 provides some important stability bugfixes for the data and control plane.
It's recommended that you upgrade to 2.7.3 from any previous version.
Fixes
- Topology: prioritize topology when decreasing replicas by @tiagolobocastro in openebs/mayastor-control-plane#906
- PV deletetion: don't delete mayastor volume by disabling orphan volume garbage collector by @tiagolobocastro in openebs/mayastor-control-plane#919
- Volume Rebuild: disown replica from disowned volumes nexus allowing rebuild to proceed by @abhilashshetty04 in openebs/mayastor-control-plane#922
Full Change Log:
v2.7.2
Release v2.7.2
Release Date: 24th December, 2024
Summary
OpenEBS Replicated PV Mayastor version 2.7.2 provides some important stability bugfixes for the data and control plane.
It's recommended that you upgrade to 2.7.2 from any previous version.
Fixes
- fix(self-shutdown): abort frozen ios when unsharing shutdown nexus
- chore: increase ps_retries and silence log once logged
- fix(nexus): don't persist if child faults during nexus create
- fix: check valid sct and sc combinations for pi error
- fix: use auto-detected sector size for blockdev
- fix(csi/controller): don't return error on host mismatch
- feat(csi-driver): add pre-publish hook to cleanup stale entries
- fix(rest): make readiness check atomic The readiness check API depends on the agent-core service's Node gRPC endpoint. The current RwLock lets multiple tokio threads probe the agent-core. This is not ideal. This change makes the get operation atomic, so that agent-core state cache updates could be performed by only a single thread, and the updated cache should feed the next few ready calls.
- fix(csi-driver): trace was mistakenly added as info
- feat(csi-driver): use tokio_stream unixlistenerstream
- fix(volume): don't allow unpublish from non-frontend node
- fix(resize): atomically check for the required size
- fix(fsfreeze): improved error message when volume is not staged
- fix(deployer): increasing the max number of allowed connection attempts to the io-engine
- fix(topology): hasTopologyKey overwites affinityTopologyLabels
- refactor: allow importing the diskpool cr only
Full Change Log:
v2.7.2-rc.4
What's Changed
- fix(self-shutdown): abort frozen ios when unsharing shutdown nexus by @tiagolobocastro in #1788
Full Changelog: v2.7.2-rc.3...v2.7.2-rc.4
v2.7.2-rc.3
What's Changed
- fix: silence ps retries log once logged by @Abhinandan-Purkait in #1786
- fix(csi/controller): don't return error on host mismatch by @tiagolobocastro in openebs/mayastor-control-plane#907
- ci: skip krew release bot workflow for pre-release by @niladrih in openebs/mayastor-extensions#590
- refactor(upgrade): expose modules to pub scope by @niladrih in openebs/mayastor-extensions#591
- feat(helm chart): add value to modify ps retries by @Abhinandan-Purkait in openebs/mayastor-extensions#592
Full Change Log:
v2.7.2-rc.2
What's Changed
- Cherry pick PR #1780 by @dsharma-dc in #1782
- Cherry pick health probes by @niladrih in openebs/mayastor-control-plane#904
- Cherry pick csi-trace and csi-node uri fixes to develop by @tiagolobocastro in openebs/mayastor-control-plane#901
- feat(csi-driver): add pre-publish hook to cleanup stale entries by @Abhinandan-Purkait in openebs/mayastor-control-plane#905
- Cherry pick health probes by @niladrih in openebs/mayastor-extensions#582
- chore: fix helm-testing versioning in publish-chart-yaml by @blaisedias in openebs/mayastor-extensions#584
- Cherry-Pick PR 585 by @tiagolobocastro in openebs/mayastor-extensions#586
- feat(helm chart): add timeout for csi attacher and remove command from csi node by @Abhinandan-Purkait in openebs/mayastor-extensions#587
- ci: various release chart update fixes by @tiagolobocastro in openebs/mayastor-extensions#579
Full Change Log:
v2.7.2-rc.1
What's Changed
- Backport fixes for release/2.7 by @tiagolobocastro in #1775
Full Changelog: v2.7.1...v2.7.2-rc.1
v2.7.1
Release v2.7.1
Release Date: 20th September, 2024
Summary
OpenEBS Replicated PV Mayastor version 2.7.1 provides some important stability bugfixes for the data-plane.
It's recommended that you upgrade to 2.7.1 from any previous version.
Fixes
- Remove Fabrics connect timeouts due to Reactor block by @tiagolobocastro in
#1711 - Prevent Stuck rebuilds and stuck nexus subsystems by @tiagolobocastro in
#1721 - Change invalid error code on locked resource by @tiagolobocastro in
#1736 - Add missing devices in the allowed major list by @tiagolobocastro in
#1740 - Add missing labels cli for pools by @sinhaashish in
openebs/mayastor-control-plane#856 - Don't destroy replicas part of shutdown nexuses by @tiagolobocastro in
openebs/mayastor-control-plane#862
Full Change Log:
v2.7.0
Release v2.7.0
Release Date: 5th July, 2024
Summary
OpenEBS Replicated PV Mayastor version 2.7 provides placement of replica volumes across different nodes/pools. Version 2.7 has enhanced snapshot capabilities to ensure file-system consistency across multiple replicas before taking snapshots. This release provides the capability to restore from snapshot across multiple and supports volume expansion even in the presence of snapshots. In addition, this release has fixes related to snapshots, upgrades and supportability.
Features
Placement of Replica Volumes Across Different Nodes/Pools
Mayastor now uses topology parameters defined in the storage class to determine the placement of volume replicas. This allows replicas can be controlled via labels from the storage class.
Snapshot Across Multiple Replicas
Mayastor has enhanced its snapshot capabilities to ensure file-system consistency across multiple replicas before taking snapshots. This ensures that snapshots are consistent and reliable across multiple replicas
Restore Across Multiple Replicas
The capability to restore from snapshots across multiple replicas has been introduced in recent releases, enhancing data recovery options.
Expansion of volumes with snapshots
The latest release, Mayastor v2.7, includes support for volume expansion even when snapshots are present
Snapshot Fixes
Upgrade Fixes
Enhancements:
feat: expose io-engine version via rest · openebs/mayastor-control-plane@9dfb153
feat(rebuild): prefer a local replica as a rebuild source · openebs/mayastor@c3816b9
feat(config): extends config yaml with core config and delay mode · openebs/mayastor@6d6fc65
fix: crash when there are no bdevs · openebs/mayastor@5575858
fix(ha/node): don't replace path if nqn is not found · openebs/mayastor-control-plane@07ca344
fix: crash when there are no bdevs · openebs/mayastor@5575858
feat(lvs): special error code for out-of-metadata condition · openebs/mayastor@349a07c
fix: update blob metadata during properties update · openebs/mayastor@7ad7a33
Solutions:
- Mayastor support in GKE with local SSD’s
- Mayastor support in Talos
- Provisioning RWX PVC’s
- Velero DR for LocalPV ZFS
Testing
Mayastor is subject to extensive unit, component and system-level testing throughout the development and release cycle. Resources for system-level (E2E) testing are currently provided by DataCore Software.
At this time, personnel and hardware resource limitations constrain testing by the maintainers to linux builds on x86. This reflects the primary use-case which the maintainers are currently targeting with the OpenEBS Mayastor project. Therefore, the use of Mayastor with other operating systems and/or architectures, if even possible, should be considered serendipitous and wholly experimental.
This release has been subject to End-to-End testing under Ubuntu 20.04.5_LTS (kernel: ubuntu-5.15.0-50-generic)
- Tested k8s versions
- 1.23.7
- 1.24.14
- 1.25.10
Known Behavioural Limitations
As with the previous versions, the Mayastor IO engine makes full utilisation of the allocated CPU cores regardless of I/O load. This is the poller operating at full speed, waiting for I/O.
As with the previous versions, a Mayastor DiskPool is limited to a single block device and cannot span across more than one block device.
Known Issues
Mayastor does not support the capacity expansion of DiskPools as of v2.6.0
Under heavy IO and constant scaling up-down of volume replicas, the io-engine pod has been observed to restart occasionally.