Skip to content

Releases: openebs/mayastor

v 0.6.0-beta

01 Dec 14:15
Compare
Choose a tag to compare
v 0.6.0-beta Pre-release
Pre-release

Release v0.6.0

Release Date: 1st December 2020

Summary Changelog

Maintenance Release

Project Status Upgraded: BETA PHASE
With this release, OpenEBS Mayastor is considered beta software. Please deploy accordingly.

Getting Started

Mayastor user documentation, including a quick deployment guide, can be found here

Upgrade

Upgrades from previous versions of Mayastor are not supported. Any earlier release should be removed prior to installing this version. For testing purposes, it is preferable to install to a new, clean cluster.

Support

If you are having issues during installation, configuration or upgrade, you can contact us via:

v 0.5.0-alpha

14 Oct 12:41
Compare
Choose a tag to compare
v 0.5.0-alpha Pre-release
Pre-release

Release Summary

Release Date: 14th October 2020

Mayastor is currently in an early stage of development. This release is considered alpha software. As such, it is not intended for use in production.

New Features:

  • Block Device Discovery - Mayastor instances now expose a gRPC API which is used to enumerate block disk devices attached to the host node, as an aid to the identification of suitable candidates for inclusion within storage Pools during configuration. This functionality is also accessible within the mayastor-client diagnostic utility.

Enhancements:

  • Storage Pool Finalizers - Storage pools are now protected from inadvertent deletion whilst they contain replicas, through the addition of a finalizer to the Pool CRD object by the pool operator when the pool replica count is non-zero.

Bug Fixes:

9 new bugs were identified during testing.
5 bugs closed, resolution "fixed".

As of 15th September 2020, all bugs found by MayaData during internal testing and development are being logged, triaged and resolved directly within the Mayastor GitHub repository, thereby granting visibility to the OpenEBS and Mayastor communities.

Getting Started

The Mayastor quick deployment guide can be found here

Upgrade

Upgrades from previous versions of Mayastor are not supported. Any earlier release should be removed prior to installing this version. For testing purposes, it is preferable to install to a new, clean cluster.

Known Issues

Issue: Some Mayastor custom resource objects may lack status information after creation

Symptom
After creation, the status section of some custom resource objects may be seen to be missing. For example, in the case of a newly declared Mayastor Pool (MSP):

kubectl get -n mayastor get msp
NAME         NODE                                STATE   AGE
diskpool-1   aks-agentpool-41030923-vmss000003           46m

This has also been seen to affect Mayastor Volume (MSV) custom resource objects, which similarly may lack status information after creation and may be unavailable for use as a result.

Workaround
Restart the Mayastor MOAC pod. This can be achieved by deleting the pod, causing k8s to reschedule it in accordance with the moac deployment definition. Affected state information should be restored once MOAC has restarted.

Status
Confirmed bug. A fix for this issue is being targeted for the scheduled 0.6.0 release.

Support

If you are having issues during installation, configuration or upgrade, you can contact us via:

v 0.4.0-alpha

18 Sep 18:31
8ac77ba
Compare
Choose a tag to compare
v 0.4.0-alpha Pre-release
Pre-release

Release Summary

Release Date: 18th September 2020

Mayastor is currently in an early stage of development. This release is considered alpha software. As such, it is not intended for use in production.

New Features:

  • Enhanced User Documentation - The previous user quickstart guide has been updated and extended, and is now hosted on GitBook. This new content deprecates the README.md file in the /deploy directory of the Mayastor repository. GitBook will be the principle repository of Mayastor user documentation during this phase of development.
  • k3s Support - Mayastor may be deployed on kubernetes clusters built using the lightweight k3s distribution

Enhancements:

  • Rebuild Restart Tolerance - If one or more children of a Nexus are either pending, or undergoing, rebuild this process this will now resume automatically upon a restart of the Mayastor pod hosting that nexus. Child state will be correctly deduced on restart.
  • Nexus I/O Internal Retry - In the event that an I/O operation directed at the child of a nexus fails, the nexus will internally queue and retry (attempt count is configurable) instead of immediately returning an error to the consuming application container via the front-end target. This isolates the application from the effects of transient events e.g. temporary losses of connectivity.
  • Pool Auto-naming - As a convenience to the user, if no value is specified in the name field of a Mayastor Pool (MSP) declaration, a unique name will be generated automatically during pool creation.

Bug Fixes:

14 new bugs were identified during testing.
16 bugs closed, resolution "fixed".

From 15th September 2020, all bugs found by MayaData during internal testing and development will be logged, triaged and resolved directly within the Mayastor GitHub repository, thereby granting visibility to the OpenEBS and Mayastor communities.

Getting Started

The Mayastor quick deployment guide can be found here

Upgrade

Upgrades from previous versions of Mayastor are not supported. Any earlier release should be removed prior to installing this version. For testing purposes, it is preferable to install to a new, clean cluster.

Known Issues

Issue: Mayastor Pool (MSP) custom resource objects may lack status information after creation

Symptom
After creating a new pool definition the status section of the MayastorPool custom resource is missing. For example:

kubectl get -n mayastor get msp
NAME         NODE                                STATE   AGE
diskpool-1   aks-agentpool-41030923-vmss000003           46m

Workaround
Restart the Mayastor MOAC pod. This can be achieved by deleting the pod, causing k8s to reschedule it in accordance with the moac deployment definition. Pool state information should be available once MOAC has restarted.

Status
Confirmed bug

Support

If you are having issues during installation, configuration or upgrade, you can contact us via:

v 0.3.0-alpha

18 Sep 18:55
Compare
Choose a tag to compare
v 0.3.0-alpha Pre-release
Pre-release

Release Summary

Release Date: 12th August 2020

Mayastor is currently in an early stage of development. This release is considered alpha software. As such, it is not intended for use in production.

New Features:

  • Automatic Replica Replacement - A Replica which has entered the "Faulted" state will be automatically replaced by the control plane, subject to there being available spare capacity in an appropriate Pool. The content of the replacement Replica will be 'rebuilt', i.e. made consistent with the other Replicas of that Nexus. This occurs without significant impact upon workload I/O.
  • NVMe-oF Support - The Mayastor CSI plugin can provision Persistent Volumes which are mounted on worker nodes over NVMe-oF, by specifying this transport type option in the corresponding StorageClass. (This functionality is made conditional upon kernel mode NVMe-oF initiator support, necessitating the use of kernel version 5.1 or greater).
  • Block Mode - Persistent Volumes now support raw block access: volumeMode: block
  • Direct Device Access - Mayastor Pools now support direct (host kernel independent) access to block device members, reducing abstraction overhead for high performance devices. The Mayastor Pool CRD accepts the previous form e.g. disks: ["/dev/sdx"], in addition to a new URI format e.g. disks: ["nvmf://10.240.0.4:8420/...etc"]

Enhancements:

  • Plugin Separation - The Mayastor CSI driver and plugins have been moved from within the Mayastor DaemonSet to their own, dedicated DaemonSet. This allows them to be independently scheduled by k8s and as a result, Mayastor Persistent Volumes can now be mounted and consumed on any worker node in the cluster, not just on those which are also running an instance of the Mayastor storage engine.
  • Rebuild Performance - The previous limitation on the maximum outstanding I/O permitted by a rebuild process has been raised, allowing faster Replica rebuilds but without significant impact on workload I/O to the affected Nexus. Each rebuild now supports up to 16 concurrent copy tasks, with the limitation on total rebuild I/O outstanding increased to 1MiB.
  • Durability - Mayastor pods persist their configuration state to local host storage each time they they process an API call which results in a state change. This allows a Mayastor pod to be correctly restarted in the event that it or its host node stop unexpectedly. At this time, such a restart will permit access to Replicas shared with other Nexus' but will not restore access to workload I/O for any PVC exported by the affected Mayastor process. Automated Failover and attendant continuous access to data whilst in a degraded state is the subject of ongoing development and will be introduced in future releases.
  • SPDK - Mayastor now uses SPDK version 20.07
  • Replica Error Threshold - A Nexus maintains counts of I/O error responses arising from its child bdevs ('Replicas'). In this version, if the error count held for a Replica exceeds a (default) value of 64, that Replica will be marked as "Faulted" by the Nexus and will be removed from the I/O path. In this release, the threshold value may only be changed by recompilation.
  • Flush - The Nexus now implements support for the flush command

Getting Started

The Mayastor quick deployment guide can be found here

Upgrade

Upgrades from previous versions of Mayastor are not supported. Any earlier release should be removed prior to installing this version. For testing purposes, it is preferable to install to a new, clean cluster.

Support

If you are having issues in setting up or upgrade, you can contact us via:

v 0.2.0-alpha

18 Sep 18:55
68f5941
Compare
Choose a tag to compare
v 0.2.0-alpha Pre-release
Pre-release

Release Summary

Release Date: 15th June 2020

Mayastor is currently in an early stage of development. This release is considered alpha software. As such, it is not intended for use in production.

New Features:

  • Rebuild Process - A rebuild mechanism has been added to Mayastor which, through the scheduling of multiple concurrent rebuild 'tasks', is able to bring a new child (i.e. replica) which is being added to an existing Nexus into a consistent state with its current children and into synchronisation with the Nexus' front-end volume (i.e. Persistent Volume), thereby increasing/restoring workload protection levels. It does so without disrupting workload IO. (Known Limitation: Any IO error encountered either at the source or destination child of a rebuild task will cause the rebuild process to halt and no attempt will be made to retry. This will be addressed in a future release).
  • NVMe-oF Support - A Nexus can be created and shared (i.e. a front-end target established) using the NVMe protocol. (Known Limitation: It is not currently possible to provision an NVMe-oF Nexus via CSI. This functionality will be introduced in a future release).
  • Mayastor Node (msn) CRD - Introduced for the persistence and observabilty of Mayastor-enabled cluster node configuration and membership
  • Mayastor-client - A gRPC-based diagnostic and low-level configuration tool for Mayastor is introduced as a planned successor to the existing mctl utility. It is expected that mctl will be deprecated in a future release.

Enhancements:

  • The data path now categorises and maintains counts of error IO responses received from child bdevs. This is to allow the development of automated faulting and recovery processes in future releases.
  • The size of the MOAC container image has been reduced. Previously this ran to multiple hundreds of MBs.
  • MOAC and Mayastor-test have been refactored to make use of v12 node.js, from v10 previously. This brings a number of improvements including; faster startup performance, heap size improvements and a more secure implementation of TLS.
  • The Nexus now correctly handles reset IOs sent by workload initiators. Resets are propagated to each child of the nexus and the appropriate response returned to the initiator.
  • The Mayastor Volume (msv) CRD now includes the rebuild and health status of its corresponding children

Bug Fixes:

  • Issue: When creating a nexus with multiple children, if the second or any subsequent child were inaccessible a panic was encountered
    • Resolution: During creation, first close any child bdevs which may already be open. Abort the nexus creation if an error is encountered during this step.

Getting Started

The Mayastor quick deployment guide can be found here

Upgrade

Upgrades from previous versions of Mayastor are not supported. Any earlier release should be removed prior to installing this version. For testing purposes, it is preferable to install to a new, clean cluster.

Support

If you are having issues in setting up or upgrade, you can contact us via:

v 0.1.0-alpha

26 May 13:15
Compare
Choose a tag to compare
v 0.1.0-alpha Pre-release
Pre-release

Release Summary

Release Date: 15th May 2020

Mayastor is currently in an early stage of development. This release is considered alpha software. As such, it is not intended for use in production.

New Features:

  • Persistent Volumes may be exported over iSCSI transport

Enhancements:

  • None

Bug Fixes:

  • None

Getting Started

The Mayastor quick deployment guide can be found here

Support

If you are having issues in setting up or upgrade, you can contact us via: