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 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