Releases: openebs/zfs-localpv
v2.9.0
This release of OpenEBS ZFS-LocalPV introduces critical bug fixes, enhancements to CSI spec compliance, improvements in upgrade testing and backup lifecycle management, as well as several documentation and maintenance updates. It builds on the stability delivered in 2.8.x with a focus on upgrade compatibility, developer usability, and operational observability.
New Features and Enhancements
-
Update Go runtime to 1.24.
Bumps up go runtime and all dependents to their latest available releases by @Abhinandan-Purkait in #678 -
Allow users to configure CPU and memory requests/limits for all zfs-node and zfs-controller containers via values.yaml, improving resource management and deployment flexibility by @vishalanarase in #674
Bug Fixes and Improvements
- Removes encryption parameter handling from
buildCloneCreateArgs()since clones automatically inherit encryption from the parent snapshot and the property cannot be set (it's read-only) by @adamcharnock in #675
Continuous Integration and Maintenance
- Staging CI
Introduction of the staging CI, which enables creating a staging build for e2e testing before releasing, the artifacts are then copied over to production build hosts. by @Abhinandan-Purkait
New Contributors
- @adamcharnock made their first contribution in #675
- @vishalanarase made their first contribution in #674
v2.9.0-rc.0
What's Changed
- fix(node): handle properly volume resize when asking for more than the available space by @plaffitt in #656
- Prepare develop branch on release/2.8 creation by @github-actions[bot] in #660
- Cherry-pick #667 and #665 by @Abhinandan-Purkait in #668
- Update CHANGELOG.md by @Abhinandan-Purkait in #669
- ci: add staging ci for release prep by @Abhinandan-Purkait in #671
- feat(helm): Add configurable resources for zfs-node and zfs-controller containers… by @vishalanarase in #674
- chore(go runtime): update go runtime and all dependents to latest by @Abhinandan-Purkait in #678
- fix: modify test script according to new log fatal script by @Abhinandan-Purkait in #682
- Prepare release/2.9 branch by @github-actions[bot] in #683
- chore: yq_ibl fix, fix registry to docker, fix release wf by @Abhinandan-Purkait in #685
New Contributors
- @plaffitt made their first contribution in #656
- @vishalanarase made their first contribution in #674
Full Changelog: v2.8.0...v2.9.0-rc.0
v2.8.0
This release of OpenEBS ZFS-LocalPV introduces critical bug fixes, enhancements to CSI spec compliance, improvements in upgrade testing and backup lifecycle management, as well as several documentation and maintenance updates. It builds on the stability delivered in 2.7.x with a focus on upgrade compatibility, developer usability, and operational observability.
New Features and Enhancements
-
Backup Garbage Collector
Introduced a backup garbage collector in the controller to automatically clean up stale or orphaned backup resources.
#651 by @pando85 -
Refactored Helm Chart Labels
Added improved and consistent labeling, including logging-related labels, to enhance Helm chart maintainability and observability.
#653 by @Abhinandan-Purkait -
CSI Spec Upgrade to v1.11
Updated CSI spec and associated sidecar containers to CSI v1.11 to maintain compatibility and benefit from upstream improvements.
#655 by @Abhinandan-Purkait
Bug Fixes and Improvements
-
Quota Property Handling
- Fixed an issue where the
quotaproperty was not correctly retained during upgrades.
#629 by @Abhinandan-Purkait - Ensured backward compatibility of
quotatypevalues during volume restores.
#642 by @Abhinandan-Purkait
- Fixed an issue where the
-
Controller Crash on CSI NodeGetInfo RPC
Fixed a crash where unhandled errors in the CSINodeGetInfocall could cause the controller to exit unexpectedly.
#656 by @plaffitt -
Graceful gRPC Server Shutdown
The gRPC server now gracefully handlesSIGTERMandSIGINTsignals for clean exit.
#647 by @dionysius -
Improved Kubeconfig Loading
The agent now leverages the OpenEBSlib-csiKubernetes client to reliably load kubeconfig from multiple locations.
#645 by @dionysius -
Plugin Flag Validation
The CLI flag--pluginnow only acceptscontrollerandagent, disallowing invalid values likenode.
#638 by @dionysius
Testing Enhancements
- BDD Specs for Upgrade Testing
Introduced automated BDD test specs to validate upgrades and ensure compatibility between versions.
#636 by @Abhinandan-Purkait
Documentation and Contributor Workflow
- Improved Volume Import Guide
The FAQ on importing existing ZFS volumes has been updated with correct and detailed working steps.
#639 by @WowSuchRicky
Continuous Integration and Maintenance
-
CODEOWNERS Updates
Added and refinedCODEOWNERSconfiguration to better reflect current maintainers and code ownership.
#633, #637, #640 by @niladrih -
BASE Environment Fix in CI
Resolved a configuration bug where theBASEenv variable was not properly set in CI workflows.
#632 by @Abhinandan-Purkait
New Contributors
This release also welcomes contributions from several new community members:
- @plaffitt – #656
- @dionysius – #638, #645, #647
- @WowSuchRicky – #639
A big thank you to all new and returning contributors for making this release possible!
Changelog
🔗 Compare changes: v2.7.1...v2.8.0
v2.7.1
Overview
The 2.7.1 release of OpenEBS Local PV ZFS focuses fixing a bug which prevented volume clones upon upgrade. This bug got introduced because of a new feature being added for the selection of the quota and requota, but the backwards compatibility was not taken care of. This has also highlighted the gaps on upgrade testing, which we would like to work upon in the upcoming releases
Bug Fixes and Stability Improvements
- fix: quota property empty on upgrade (#629) by @Abhinandan-Purkait in #630
v2.7.0
Overview
The 2.7.0 release of OpenEBS Local PV ZFS focuses on enhancing the stability, feature set, and developer experience. Key highlights include new configuration options for quota management, support for faster compression algorithms, fixes to race conditions and resource cleanup, and a raft of improvements to tests, CI workflows, and documentation. In addition, several maintenance tasks and dependency updates have been performed to keep the project robust and secure.
NOTE: The 2.7.0 release of OpenEBS Local PV ZFS has bug which affects the volume clone feature upon upgrade from previous version. It has been fixed via a patch release 2.7.1. We would recommend users to upgrade directly to 2.7.1, if coming from 2.6.x and below
New Features
-
Configurable Quota Options
-
Enhanced Compression Support
- Support for the zstd‑fast algorithm has been introduced (#597 by @abhinandan‑Purkait). This new option improves performance when compression is desired on ZFS volumes.
Bug Fixes and Stability Improvements
-
Volume Provisioning and Controller Fixes
- The plugin now correctly retrieves the owner node id (#549).
- A fix ensures that if a ZFS volume already exists, the controller will provision the volume without error (#576 by @AChangFeng).
- Several race conditions in the CSI controller have been addressed:
- A per‑volume mutex was introduced to prevent simultaneous CSI controller calls that might cause the volume CR to be inadvertently deleted (#588 by @Lucaber and #613 by @sinhaashish).
- The ZFS timer used during volume creation is now properly stopped after volume creation completes (#600 by @rfyiamcool).
-
YAML and CRD Corrections
- VolumeSnapshot CRDs now have identation fixes (#620 by @nilroy).
- Minor formatting adjustments (such as indent fixes for imagePullSecrets in the deployment charts - see #596 by @chris199512).
-
Reservation and Deployment Fixes
- A bug in the reservation logic during volume expansion (with refquota settings) has been resolved (#595 by @abuisine).
- Controller fixes prevent accidental deletion of volume CRs when snapshots exist (#613 by @sinhaashish).
Testing Enhancements
-
BDD and Integration Tests
- New BDD tests for CI have been added (#551 and #556 by @sinhaashish), improving confidence in test outcomes.
-
Snapshot and Clone Testing
- Snapshot and clone tests for raw block volumes have been introduced (#559, #570 by @sinhaashish).
- Thin provision and volume type specific tests (#572 by @sinhaashish).
- Additional tests now verify quota and refquota parameters (#608 by @abhinandan‑Purkait).
- Clone tests have been corrected so that the clone deployment uses the proper clone app and volume (#612 by @tiagolobocastro).
-
Local Testing Improvements
- Various enhancements to local testing setups have been applied (#609 by @tiagolobocastro) to help developers run tests without elevated privileges and with more predictable behavior.
Continuous Integration and Deployment
-
Workflow Enhancements
- The pull_request workflow has been enhanced to improve reliability (#557 by @abhinandan‑Purkait).
- The build.yml workflow received improvements for efficiency (#565 by @abhinandan‑Purkait).
- CI now includes branch preparation changes (#567 by @abhinandan‑Purkait) and explicit namespace settings (#580 by @sinhaashish).
-
New CI Features
- A Fossa CLI workflow has been integrated to automatically check licensing issues (#599 by @abhinandan‑Purkait).
- The CI environment now pins Ubuntu to 22.04 to ensure consistency for minikube (#604 by @abhinandan‑Purkait).
- Updates to the build_and_push action (addressing missing changes) are included (#618 by @tiagolobocastro).
Documentation and Contributor Workflow
-
Documentation Updates
- Typos and minor errors in the README have been fixed (#554 by @druesendieb), and several docs (such as the localpv parameter explanations in docs and backup‑restore guides) have been updated (#563, #585).
- A security section now cross‑references relevant security documents (#611 by @tiagolobocastro).
-
Contributor and Release Process Improvements
- The contributor workflow documentation has been improved to provide clearer guidelines on how to contribute (#616 by @tiagolobocastro).
- The overall README and additional documentation have been tidied up, and outdated assets have been moved or removed (#619 by @abhinandan‑Purkait).
- Changes to the RBAC configuration were applied (#603 by @d4rkfella) to ensure that all components (including CSI snapshotter) have the correct permissions.
Dependency and Maintenance Updates
-
CRD Generation and Cleanup
- The CRDs have been replaced with an auto‑generated copy (#564 by @niladrih) to reduce manual errors.
- Unused scripts have been removed and the make manifests updated (#569 by @abhinandan‑Purkait).
-
Dependency Bumps
-
Chart and Label Adjustments
New Contributors
This release also welcomes contributions from several new contributors:
@druesendieb, @abuisine, @AChangFeng, @cinapm, @Cogitri, @chris199512, @Lucaber, @rfyiamcool, @d4rkfella, @tiagolobocastro, and @nilroy.
v2.6.2
What's Changed
- cherry-pick #552 by @Abhinandan-Purkait in #591
New Contributors
- @github-actions made their first contribution in #587
Full Changelog: v2.6.1...v2.6.2
v2.6.1
What's Changed
- Cherry-pick CI changes by @Abhinandan-Purkait in #583
- Cherry-pick PR 575 into release/2.6 branch by @niladrih in #584
- fix: chart.yaml indentation by @Abhinandan-Purkait in #586
Full Changelog: v2.6.0...v2.6.1
zfs-localpv-2.6.0
Helm chart for CSI Driver for dynamic provisioning of ZFS Persistent Local Volumes. For instructions on how to use this helm chart, see - https://openebs.github.io/zfs-localpv/
v2.6.0
What's Changed
- chore: update policy documents by @Abhinandan-Purkait in #533
- chore: update MAINTAINERS signpost link by @Abhinandan-Purkait in #534
- chore: remove maintainers from charts README.md by @Abhinandan-Purkait in #537
- docs: Fix resources comments order in helm chart by @pando85 in #508
- fix: wrap k8s api error in GetNodeID by @aep in #535
- chore(deps): bump golang.org/x/net from 0.17.0 to 0.23.0 by @dependabot in #529
- chore: fix doc repo URL in PR template by @avishnu in #543
- docs(backup-restore): update velero backup docs by @sinhaashish in #546
- feat(analytics): add heartbeat pinger by @niladrih in #548
- chore: add changelong entries for contributors by @Abhinandan-Purkait in #553
New Contributors
- @pando85 made their first contribution in #508
- @aep made their first contribution in #535
- @avishnu made their first contribution in #543
- @sinhaashish made their first contribution in #546
Known issue
- zfs-localpv and lvm-localpv controller pod requires restart on single node setup after upgrade to latest version. Check the link for workaround.
openebs/openebs#3751
Full Changelog: zfs-localpv-2.5.1...v2.6.0