CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 119
Releases: openebs/mayastor
v2.7.7
Compare
chore(tag): create tag for release v2.7.7 Description: Mayastor release v2.7.7 Release Date: 18th July, 2025
Assets 7
v2.9.1
Compare
What's Changed
- Bump future helm chart version on the release branch by @openebs-ci in openebs/mayastor-extensions#700
- fix: normalize release name for alloy by @Abhinandan-Purkait in openebs/mayastor-extensions#703
- fix(labels): use the newer paperclip which allows tail match by @tiagolobocastro in openebs/mayastor-control-plane#1001
Assets 7
v2.9.0
Compare
Release v2.9.0
Release Date: 13th June, 2025
Summary
OpenEBS Replicated PV Mayastor version 2.9.0 introduces new features and several critical functional fixes.
What's New - Replicated Storage
At-Rest Encryption
You can now configure disk pools with your own encryption key, allowing volume replicas to be encrypted at rest. This is useful if you are working in environments with compliance or security requirements.
Enhancements - Replicated Storage
- Added
formatOptions
support via storage class. - Cordoned nodes are now preferred when removing volume replicas (Example: Scale down).
- Restricted pool creation using non-persistent devlinks like
/dev/sdX
. - You no longer need to recreate the StorageClass when restoring volumes from thick snapshots.
- New volume health information is available to better represent volume state.
- A plugin command is available to delete volumes with
RETAIN
policy - useful when a volume remains after its PV is deleted. - Full volume rebuilds are now avoided if a partial rebuild fails due to reaching the max rebuild limit.
Upgrading
- Volume Health information now reflects the true status of the volume
This means that a volume status may now be reported asDegraded
whereas it would have previously been reported asOnline
. This has a particular impact for unpublished volumes (in other words, volumes which are not mounted used by a pod) since volume rebuilds are currently not available for unpublished volumes.
This behaviour can be reverted by setting a helm chart variable:agents.core.volumeHealth=false
. - This version of the mayastor chart adds two new components out of the box, i.e. Minio and Alloy and removes Promtail, this change is necessary as the previous Loki stack using Promtail was not highly available and Promtail is going to be EOL. This includes the newer Loki stack that can be deployed in a HA fashion given there exists one object storage backing it, which is Minio in this case as a default option. Users can choose to avoid Minio or object storage backend and deploy Loki with filesystem storage, as defined here. The new Loki stack would be enabled by default with 3 replicas of Loki and 3 replicas of Minio. This behaviour can be disabled by setting a helm chart variable:
loki.enabled=false, alloy.enabled=false
.
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
- 1.29.6-1.1
Known Behavioural Limitations
- The IO engine fully utilizes all allocated CPU cores regardless of the actual I/O load, as it runs a poller at full speed.
- Each DiskPool is limited to a single block device and cannot span across multiple devices.
- The data-at-rest encryption feature does not support rotation of Data Encryption Keys (DEKs).
- Volume rebuilds are only performed on published volumes.
Known Issues
- DiskPool capacity expansion is not supported as of v2.9.0.
- if a node hosting a pod reboots and the pod lacks a controller (like a Deployment), the volume unpublish operation may not trigger. This causes the control plane to assume the volume is still in use, which leads to
fsfreeze
operation failure during snapshots.
Workaround: Recreate or rebind the pod to ensure proper volume mounting. - If a disk backing a DiskPool fails or is removed (Example: A cloud disk detaches), the failure is not clearly reflected in the system. As a result, the volume may remain in a degraded state for an extended period.
- Large pools (Example: 10–20TiB) may hang during recovery after a dirty shutdown of the node hosting the io-engine.
- Provisioning very large filesystem volumes (Example: More than 15TiB) may fail due to filesystem formatting timeouts or hangs.
Assets 7
v2.9.0-rc.0
Compare
What's Changed
- Various Security Updates by @tiagolobocastro in #1813
- docs: refactor README and CONTRIBUTING by @Abhinandan-Purkait in #1815
- Rename action and add ci-report by @tiagolobocastro in #1811
- docs: add event-bus, switchover and integrations by @tiagolobocastro in #1816
- chore: add CODEOWNERS by @niladrih in #1820
- docs: refactor signpost header by @Abhinandan-Purkait in #1817
- ci(gha/bdd): coredump before cleanup by @tiagolobocastro in #1819
- fix: fetch depth 0 by @pchandra19 in #1821
- chore: scaffold for new pool API by @dsharma-dc in #1818
- chore: fix CODEOWNERS by @niladrih in #1826
- feat(encryption): add crypto vbdev by @dsharma-dc in #1824
- chore: update dependencies by @Abhinandan-Purkait in #1829
- chore: handle bool for pool encryption status by @dsharma-dc in #1830
- request encrypted pool crypto vbdev by @dsharma-dc in #1827
- chore: expose diskpool encryption feature for Mayastor by @dsharma-dc in #1837
- Populate disk info for encrypted pools by @dsharma-dc in #1836
- feat(encryption): fetch secret params from secret source by @dsharma-dc in #1833
- chore: reflect encryption state of replica by @dsharma-dc in #1842
- Fix IPv6 support by @tiagolobocastro in #1840
- chore: use secret name as the key name by @dsharma-dc in #1845
- fix(lvs/export): destroy bdevs correctly considering crypto pool by @dsharma-dc in #1846
- fix(crypto): use Cstring while type converting to c_char by @dsharma-dc in #1847
- fix(ipv6): set correct adrfam and ip for nvmx by @tiagolobocastro in #1851
- fix: nexus multipath test to retry on resetting by @Abhinandan-Purkait in #1856
- feat(encryption): allow pools on same node to share keys by @dsharma-dc in #1848
- ci: remove journalctl from the uploaded ci-report by @tiagolobocastro in #1858
- chore(ci): inject github token post nix installation by @pchandra19 in #1862
- refactor: specify the events stream replicas by @tiagolobocastro in #1860
- test(encryption): basic component test for encrypted pool by @dsharma-dc in #1861
- ci: use cachix instead of determinate systems by @Abhinandan-Purkait in #1866
- Prepare release branch by @openebs-ci in #1870
Full Changelog: v2.8.0...v2.9.0-rc.0
Assets 7
v2.7.6
Compare
Release v2.7.6
Release Date: 22nd May, 2025
Summary
It's recommended that you upgrade to 2.7.6 from any previous version.
Fixes
- Allow scaling up of volumes of affinity group by @Abhinandan-Purkait in openebs/mayastor-control-plane#983
Assets 7
v2.7.5
Compare
Release v2.7.5
Release Date: 18th April, 2025
Summary
OpenEBS Mayastor version 2.7.5 provides some important stability bugfixes for the data and control plane.
It's recommended that you upgrade to 2.7.5 from any previous version.
Features
- Allows specification of formatOptions on storage class for volumes by @abhilashshetty04 in openebs/mayastor-control-plane#959
- Add Volume Health information to release/2.7 by @tiagolobocastro in openebs/mayastor-control-plane#965
Fixes
- Regression to due multipath being not enabled by @tiagolobocastro in openebs/mayastor-control-plane#951
- Allow thick volume snapshot restore by making it thin if not specified explicitly by @abhilashshetty04 in openebs/mayastor-control-plane#964
CI
- Krew fix - only push the latest version by @tiagolobocastro in openebs/mayastor-extensions#637
Helm Chart
- fix: add knob for volume health by @tiagolobocastro in openebs/mayastor-extensions#656
Assets 7
v2.7.4
Compare
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
Assets 7
v2.8.0
bcb7fbe
Compare
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
Assets 7
v2.7.3
Compare
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:
Assets 7
v2.7.2
Compare
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