Skip to content

v2.7.0

Latest
Compare
Choose a tag to compare
@pchandra19 pchandra19 released this 05 Jul 15:43
· 50 commits to develop since this release

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

feat(snapshot): plugin changes for snapshot operation by hrudaya21 · Pull Request #500 · openebs/mayastor-extensions

fix(snapshot): scale volume with snapshot can go for replica rebuild by hrudaya21 · Pull Request #826 · openebs/mayastor-control-plane

Upgrade Fixes

fix(upgrade-job): fix deserialize failures with helm v3.13+ installations by niladrih · Pull Request #512 · openebs/mayastor-extensions

fix: don't add replica to nexus which can't rebuild properly · openebs/mayastor-control-plane@53500c0

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:

  1. Mayastor support in GKE with local SSD’s
  2. Mayastor support in Talos
  3. Provisioning RWX PVC’s
  4. 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.