Releases: openebs/mayastor
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.
v2.6.1
Release v2.6.1
Release Date: 19th April, 2024
Summary
OpenEBS Replicated PV Mayastor version 2.6 provides volume expansion support for a Mayastor volume with automatic resizing of file-system by the CSI-resizer. Mayastor v2.6 enhances snapshot capabilities by ensuring file-system consistency before taking a snapshot. Mayastor v2.6 also enhances monitoring by exporting performance metrics like IOPs, throughput, and latency for Mayastor pools, volumes, and replicas. In this release, the event generation capabilities have been expanded to include more events. In addition, this release has fixes related to snapshots, upgrades, availability, stability, and supportability.
What's Changed
This patch fixes an issue for older Linux kernels (<5.8) where /proc/mounts iteration would deadlock causing CSI volumes to get stuck during the staging process.
Fixes
- fix(block/list): update deps to get safeMountIter fix by @tiagolobocastro in #1639
- fix(csi-node/mounts): update deps to get safeMountIter fix by @tiagolobocastro in openebs/mayastor-control-plane#809
- chore(helm): add helm var to control safe mounts by @tiagolobocastro in openebs/mayastor-extensions#491
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.1.
v2.6.0
Release v2.6.0
Release Date: 16th April, 2024
Summary
OpenEBS Replicated PV Mayastor version 2.6 provides volume expansion support for a Mayastor volume with automatic resizing of file-system by the CSI-resizer. Mayastor v2.6 enhances snapshot capabilities by ensuring file-system consistency before taking a snapshot. Mayastor v2.6 also enhances monitoring by exporting performance metrics like IOPs, throughput, and latency for Mayastor pools, volumes, and replicas. In this release, the event generation capabilities have been expanded to include more events. In addition, this release has fixes related to snapshots, upgrades, availability, stability, and supportability.
Features
Volume Expansion
Mayastor 2.6 adds support for allowVolumeExpansion CSI capability to resize the volumes and the mounted file-systems. Mayastor CSI plugin provides support for the expansion of volume in both online and offline states.
Refer to the documentation for more details.
Filesystem Consistent Snapshot
Mayastor 2.6 makes a best effort to ensure the mounted filesystem is consistent while taking a snapshot of the underlying volume. This allows the file-system to be recovered in a good state when the volume is restored from the snapshot.
Refer to the documentation for more details.
Performance Metrics
Mayastor 2.6 enhances product monitoring by exposing performance metrics like in the Prometheus format in addition to the existing metrics for capacity and state. IO, Throughput and Latency counters for Read and Write operations of DiskPools, Volumes and Replicas are added to the list of metrics exported from the IO Engine exporter.
Refer to the documentation for more details.
Events
The eventing framework was introduced in the Mayastor 2.4. The generated events are published onto a NATS message bus.
In 2.6, new events get generated during the provisioning of snapshots and clones, and state changes for nexus, sub-system, reactor, replica, and node.
Refer to the documentation for the list of available events.
Improvements and Stability Fixes
Rebuild refactoring by tiagolobocastro · Pull Request #1581 · openebs/mayastor
Rebuild Rangers by tiagolobocastro · Pull Request #1594 · openebs/mayastor
fix(nvmf): fixing duplicate QID error by dsavitskiy · Pull Request #1616 · openebs/mayastor
Reconnect IO log on Detach by tiagolobocastro · Pull Request #1619 · openebs/mayastor
Repo chores by tiagolobocastro · Pull Request #717 · openebs/mayastor-control-plane
Node labelling UX by tiagolobocastro · Pull Request #726 · openebs/mayastor-control-plane
Tracing and Platform fixes by tiagolobocastro · Pull Request #782 · openebs/mayastor-control-plane
Performance and Scalability Fixes
Supportability Fixes
add json formatting support by abhilashshetty04 · Pull Request #745 · openebs/mayastor-control-plane
[fix(kubectl/dump/etcd): use correct namespace by tiagolobocastro · Pull Request #437 · openebs/mayastor-extensions](https://github.com/openebs/mayastor-extensions/pull...
v2.5.0
Release v2.5.0
Release Date: 18th Dec., 2023
Summary
The version 2.5 adds support for btrfs file-system as a supported file-system on top of a Mayastor volume. Mayastor 2.5 provides for event generation for event categories like volume, nexus, replica, host and switch-over. This release updates SPDK to version 23.05. In addition, this release has fixes related to snapshots, upgrade, availability, stability and supportability.
Features
Support for Btrfs file-system
This release supports creation of Btrfs file-system through the Mayastor CSI provisioner, in addition to the current support for Ext4 and XFS. Kubernetes storage administrators need to specify fsType as “btrfs” in the Mayastor Storage class, and create volumes using PVC from this SC.
Eventing
The eventing framework was introduced in the Mayastor 2.4. The generated events are published onto a NATS message bus.
In the current release, events are generated for creation and deletion of volume nexus and replicas, HA switch-over and state change for node, pool, volume, nexus and replica.
Please refer the documentation for more details. Eventing can be disabled as per the steps here.
Snapshot Fixes
Performance tuning for snapshot operations feat(pool): blobstore cluster size to be set during pool creation through grpc parameter value by hrudaya21 · Pull Request #1512 · openebs/mayastor
Security Fixes
Security updates by tiagolobocastro · Pull Request #1543 · openebs/mayastor
Stability Fixes
Updating SPDK library feat(spdk): updating to SPDK 23.05 by dsavitskiy · Pull Request #1508 · openebs/mayastor
Command Retry Delay fixes feat(nvmf): selection different CRD for replicas and certain nexus error by dsavitskiy · Pull Request #1524 · openebs/mayastor
fix(spdk): backport of SPDK fix for zero copy by dsavitskiy · Pull Request #1539 · openebs/mayastor
Fixing I/O engine crashes by dsavitskiy · Pull Request #1549 · openebs/mayastor
nvme/opts: parse timeouts in humantime by tiagolobocastro · Pull Request #1548 · openebs/mayastor
fix(pstor): increase persistence timeouts by tiagolobocastro · Pull Request #1564 · openebs/mayastor
Supportability Fixes
Upgrade Fixes
feat: upgrade changes by niladrih · Pull Request #358 · openebs/mayastor-extensions
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 capacity expansion for volumes as of v2.5.0.
Mayastor does not support capacity expansion of DiskPools as of v2.5.0.
Under heavy IO and constant scaling up-down of volume replicas, the io-engine pod has been observed to restart occassionally.
Getting Started
Mayastor user documentation, including a quick deployment guide, can be found here
Upgrade
Upgrades from versions of Mayastor prior to v1.0.0 are not supported. Any release earlier than v1.0.0 should be removed prior to installing this version.
Users get the support for upgrading the software from version 2.0.0 | 2.0.1 | 2.1.0 | v2.2.0 | v2.3.0 | v2.4.0 to v2.5.0
Support For Migration From Legacy Versions
Mayastor versions 1.0.5 and prior, are being considered as legacy versions. Due to several breaking changes in the 2.0 codebase of the software, it is not possible to support seamless upgrades from the legacy versions to the current version. Mayastor 2.2 provides a documented migration path for users to move their legacy installations to the latest version.
Please refer the documentation for more information.
Support
If you are having issues during installation, configuration or upgrade, you can contact us via:
- OpenEBS on Kubernetes Slack community
- Already signed up? Head to our discussions at #openebs
- Raising an issue
"Unsupported" Architectures and Operating Systems (inc. ARM, Raspberry Pi, MacOS)
As described in the section on software testing above, the maintainers build and test Mayastor only on linux, on x86-64. The use of Mayastor in other environments is therefore not necessarily possible, at least without modification. Where possible, this is currently largely coincidental - it is not "fully" tested and therefore this should be considered an entirely experimental use-case.
The maintainers will be pleased to receive contributions in this area, with the following understanding:
- Such PR's will be reviewed for correctness, good practice, licensing compliance and general quality
- PR's will be accepted on the basis that testing by the maintainers is restricted to demonstrating no negative affect on the stability of x86-64 builds
- The maintainers will not perform acceptance tes...
v1.0.9
Release v1.0.9
Release Date: 3rd Nov 2023
Summary
This patch release contains an important fixes for issues identified post the release of v1.0.8
Users of prior 1.0.x versions are advised to upgrade to this version.
Fixes
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.4_LTS (kernel: ubuntu-5.15.0-50-generic)
- Tested k8s versions
- 1.23.7
Known Issues
-
The Pool Operator is unable to provision pools directly using a file as the backing device. The operator attempts to validate any device path supplied in the pool specification as an accessible block device attached to the corresponding Mayastor node. In the case of a file store, there is no block device and the validation fails, causing provisioning of the pool to be aborted. This will be addressed in a future release
- workaround: Mount the file/image as a loopback device (
losetup
) and use the device path of the loopback device in the pool spec
- workaround: Mount the file/image as a loopback device (
-
Deploying an application pod on a worker node which hosts both Mayastor and Prometheus exporter causes that node to restart.
- workaround: Use kernel version 5.13 or later
Getting Started
Mayastor user documentation, including a quick deployment guide, can be found here
Upgrade
Upgrades from versions of Mayastor prior to v1.0.0 are not supported. Any release earlier than v1.0.0 should be removed prior to installing this version.
Upgrades are disruptive - data plane and control plane pods must be unscheduled, and hence all applications using Mayastor volumes must be stopped prior to performing the update. The upgrade process is manual. The K8s definition files corresponding to the deployment of Mayastor components should be patched to reflect the versions of images from this release (see the /deploy) folder in the appropriate repositories and/or the GitBook Quickstart instruction for details of which definition files are affected, and check the v1.0.8 versions to find the appropriate image tag values.
Support
If you are having issues during installation, configuration or upgrade, you can contact us via:
- OpenEBS on Kubernetes Slack community
- Already signed up? Head to our discussions at #openebs
- Raising an issue
"Unsupported" Architectures and Operating Systems (inc. ARM, Raspberry Pi, MacOS)
As described in the section on software testing above, the maintainers build and test Mayastor only on linux, on x86-64. The use of Mayastor in other environments is therefore not necessarily possible, at least without modification. Where possible, this is currently largely coincidental - it is not "fully" tested and therefore this should be considered an entirely experimental use-case.
The maintainers will be pleased to receive contributions in this area, with the following understanding:
- Such PR's will be reviewed for correctness, good practice, licensing compliance and general quality
- PR's will be accepted on the basis that testing by the maintainers is restricted to demonstrating no negative affect on the stability of x86-64 builds
- The maintainers will not perform acceptance testing or "positive release" of such functionality on any other OS or architecture, which is in accordance with their designation of these environments as experimental use cases at this time.
- The maintainers will not provide build artifacts or container images for these environments