Overview
The 2.7.0 release of zfs‑localpv 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.
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.