Skip to content

Latest commit

 

History

History
663 lines (538 loc) · 48 KB

CHANGELOG.md

File metadata and controls

663 lines (538 loc) · 48 KB

v2.7.1 / 2025-02-12

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 to ensure backwards compatibility (#629 by @Abhinandan-Purkait)

v2.7.0 / 2025-02-10

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.

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

    • An option has been added to let users choose between using refquota and quota for ZFS volumes. This change (#542 by @cinapm) gives administrators more flexibility when managing resource limits.
  • 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

    • The analytics dependency has been updated (#578 by @niladrih).
    • The Go networking package has been bumped from 0.28.0 to 0.33.0 (#610 by dependabot).
  • Chart and Label Adjustments

    • A fix was made to move the app=componentName label out of the csi‑node matchLabels section to prevent upgrade issues (#605 by @niladrih).

v2.6.2 / 2024-09-25

v2.6.1 / 2024-09-17

v2.6.0 / 2024-07-03

  • feat(analytics): add heartbeat pinger (#548,@niladrih)
  • fix: wrap k8s api error in GetNodeID (#535,@aep)

v2.5.0 / 2024-03-22

  • feat(deploy/helm): move volumesnapshot CRDs to the template dir (#488,@hrudaya21)
  • fix(plugin): Fix ability to have custom value for openebs.io/nodeid (#451,@jnels124)
  • fix(helm): Add extra args to zfsController containers and leader election inteligence (#492,@trunet)
  • chore(design): adding pv migration proposal (#336,@pawanpraka1)
  • fix(charts): correct default chart values (#506,@jnels124)
  • chore: update protobuf deps (#514,@niladrih)
  • chore: change zfs-controller to a deployment from statefulset (#513,@Abhinandan-Purkait)

v2.4.0 / 2023-12-12

  • fix(localpv): restore size to return as part of snapshot create response (#480,@hrudaya21)
  • feat(usedcapcity): kubectl describe zfsnode should show the used capacity information (#485,@hrudaya21)
  • feat(event): update ua to ga4 analytics (#490,@Abhinandan-Purkait)

v2.3.0 / 2023-07-23

  • feat(csi): bump up csi provisioner to v3.5.0 and other updates (#457,@vharsh)
  • feat(helm): add support for providing additional volumes and adding init containers (#455,@jnels124)
  • fix(helm): Possibility to override zfs encryption keys directory (#487,@trunet)

v2.2.0 / 2023-05-29

v2.0.0 / 2022-01-11

  • fix(localpv): fixing CSIStorageCapacity when "poolname" param has child dataset (#393,@netom)

v1.7.0 / 2021-03-15

  • feat(migration): adding support to migrate the PV to a new node (#304,@pawanpraka1)
  • fix(topo): support old topology key for backward compatibility (#320,@pawanpraka1)

v1.6.0 / 2021-04-14

  • refact(deps): bump k8s and client-go deps to version v0.20.2 (#294,@prateekpandey14)
  • remove finalizer that is owned by ZFS-LocalPV (#303,@pawanpraka1)
  • try volume creation on all the nodes that satisfy topology contraints (#270,@pawanpraka1)
  • With k8s v1.22 the v1beta1 for various resources will no longer be supported. Updating the storage and apiexention version to v1 for better support. (#299,@shubham14bajpai)

v1.6.0-RC2 / 2021-04-12

v1.6.0-RC1 / 2021-04-06

  • refact(deps): bump k8s and client-go deps to version v0.20.2 (#294,@prateekpandey14)
  • remove finalizer that is owned by ZFS-LocalPV (#303,@pawanpraka1)
  • try volume creation on all the nodes that satisfy topology contraints (#270,@pawanpraka1)
  • With k8s v1.22 the v1beta1 for various resources will no longer be supported. Updating the storage and apiexention version to v1 for better support. (#299,@shubham14bajpai)

v1.5.0 / 2021-03-12

v1.5.0-RC2 / 2021-03-11

v1.5.RC1 / 2021-03-09

v1.4.0 / 2021-02-13

v1.4.0-RC2 / 2021-02-11

v1.4.0-RC1 / 2021-02-08

v1.3.0 / 2021-01-13

v1.3.0-RC2 / 2021-01-11

v1.3.0-RC1 / 2021-01-09

v1.2.1 / 2020-12-15

v1.2.0 / 2020-12-13

v1.2.0-RC2 / 2020-12-12

v1.2.0-RC1 / 2020-12-10

v1.1.0 / 2020-11-14

v1.1.0-RC2 / 2020-11-13

v1.1.0-RC1 / 2020-11-12

v1.0.1 / 2020-10-14

v1.0.1-RC2 / 2020-10-12

v1.0.1-RC1 / 2020-10-08

v1.0.0 / 2020-09-15

v1.0.0-RC2 / 2020-09-14

v1.0.0-RC1 / 2020-09-10

v0.9.2 / 2020-08-26

v0.9.1 / 2020-08-14

v0.9.1-RC2 / 2020-08-12

v0.9.1-RC1 / 2020-08-10

v0.9.0 / 2020-07-14

v0.9.0-RC2 / 2020-07-11

  • fixing xfs mounting issue on centos with ubuntu 20.04 image (#179,@pawanpraka1)

v0.9.0-RC1 / 2020-07-08

v0.8.0 / 2020-06-13

  • changing image pull policy to IfNotPresent to make it not pull the image again and again (#124,@pawanpraka1)
  • moving to legacy mount (#151,@pawanpraka1)
  • Fixes an issue where volumes meant to be filesystem datasets got created as zvols and generally makes storageclass parameter spelling insensitive to case (#144,@cruwe)
  • include pvc name in volume events (#150,@pawanpraka1)
  • Fixes an issue where PVC was bound to unusable PV created using incorrect values provided in PVC/Storageclass (#121,@pawanpraka1)
  • adding v1 CRD for ZFS-LocalPV (#140,@pawanpraka1)
  • add contributing checkout list (#138,@Icedroid)
  • fixing golint warnings (#133,@Icedroid)
  • removing unnecessary printer columns from ZFSVolume (#128,@pawanpraka1)
  • fixing stale ZFSVolume resource issue when deleting the pvc in pending state (#145,@pawanpraka1)
  • Updated the doc for custom-topology support (#122,@w3aman)
  • adding operator yaml for centos7 and centos8 (#149,@pawanpraka1)
  • honouring readonly flag for ZFS-LocalPV (#137,@pawanpraka1)

v0.8.0-RC2 / 2020-06-12

v0.8.0-RC1 / 2020-06-10

  • changing image pull policy to IfNotPresent to make it not pull the image again and again (#124,@pawanpraka1)
  • moving to legacy mount (#151,@pawanpraka1)
  • Fixes an issue where volumes meant to be filesystem datasets got created as zvols and generally makes storageclass parameter spelling insensitive to case (#144,@cruwe)
  • include pvc name in volume events (#150,@pawanpraka1)
  • Fixes an issue where PVC was bound to unusable PV created using incorrect values provided in PVC/Storageclass (#121,@pawanpraka1)
  • adding v1 CRD for ZFS-LocalPV (#140,@pawanpraka1)
  • add contributing checkout list (#138,@Icedroid)
  • fixing golint warnings (#133,@Icedroid)
  • removing unnecessary printer columns from ZFSVolume (#128,@pawanpraka1)
  • fixing stale ZFSVolume resource issue when deleting the pvc in pending state (#145,@pawanpraka1)
  • Updated the doc for custom-topology support (#122,@w3aman)
  • adding operator yaml for centos7 and centos8 (#149,@pawanpraka1)
  • honouring readonly flag for ZFS-LocalPV (#137,@pawanpraka1)

v0.7.0 / 2020-05-15

  • feat(grafana): adding basic grafana dashboard (110, @pawanpraka1)
  • fix(version): use the travis tag for the version (114, @pawanpraka1)
  • fix(README): Fix the link in README file to the raw-block-volume.md file (109, @w3aman)
  • chore(import-vol): adding steps to import existing volume to ZFS-LocalPV (108, @pawanpraka1)
  • chore(doc): adding raw block volume details in README (106, @pawanpraka1)
  • refact(build):trim leading v from image tag (105, @pawanpraka1)
  • refact(build): make the docker images configurable (104, @pawanpraka1)
  • feat(block): adding block volume support for ZFSPV (102, @pawanpraka1)
  • fix(topokey): changing topology key to unique name (101, @pawanpraka1)
  • docs(project): adding project specific files (99, @pawanpraka1)
  • fix(doc , format): Fixed the formatting of ReadME file for upgrade (98, @w3aman)
  • feat(topology): adding support for custom topology keys (94, @pawanpraka1)
  • added developer environment examples (#92, @filippobosi)

v0.7.0-RC2 / 2020-05-13

v0.7.0-RC1 / 2020-05-08

  • fix(README): Fix the link in README file to the raw-block-volume.md file (109, @w3aman)
  • chore(import-vol): adding steps to import existing volume to ZFS-LocalPV (108, @pawanpraka1)
  • chore(doc): adding raw block volume details in README (106, @pawanpraka1)
  • refact(build):trim leading v from image tag (105, @pawanpraka1)
  • refact(build): make the docker images configurable (104, @pawanpraka1)
  • feat(block): adding block volume support for ZFSPV (102, @pawanpraka1)
  • fix(topokey): changing topology key to unique name (101, @pawanpraka1)
  • docs(project): adding project specific files (99, @pawanpraka1)
  • fix(doc , format): Fixed the formatting of ReadME file for upgrade (98, @w3aman)
  • feat(topology): adding support for custom topology keys (94, @pawanpraka1)
  • added developer environment examples (#92, @filippobosi)

0.6.1 / 2020-04-23

  • potential data loss in case of pod deletion (#89, @pawanpraka1)
  • avoid creation of volumeattachment object to fix slow volume attachment (#85, @pawanpraka1)

0.6.0 / 2020-04-14

v0.6-RC2 / 2020-04-11

v0.6-RC1 / 2020-04-08

v0.5 / 2020-03-14

  • fix(clone): setting properties on the clone volume (#57, @pawanpraka1)
  • chore(doc): adding resize details in README (#53, @pawanpraka1)
  • feat(resize): adding BDD test for Online volume expansion (#52, @pawanpraka1)
  • feat(resize): adding Online volume expansion support for ZFSPV (#51, @pawanpraka1)
  • feat(analytics): adding google analytics for ZFSPV (#49, @pawanpraka1)
  • chore(doc): updating readme with snapshot and clone details (#48, @pawanpraka1)
  • chore(doc): Adding the list of e2e test cases (#50, @w3aman)
  • fix(operator): update provisioner image to support snapshot datasource (#46, @prateekpandey14)

v0.5-RC2 / 2020-03-12

v0.5-RC1 / 2020-03-06

  • chore(doc): adding resize details in README (#53, @pawanpraka1)
  • feat(resize): adding BDD test for Online volume expansion (#52, @pawanpraka1)
  • feat(resize): adding Online volume expansion support for ZFSPV (#51, @pawanpraka1)
  • feat(analytics): adding google analytics for ZFSPV (#49, @pawanpraka1)
  • chore(doc): updating readme with snapshot and clone details (#48, @pawanpraka1)
  • chore(doc): Adding the list of e2e test cases (#50, @w3aman)
  • fix(operator): update provisioner image to support snapshot datasource (#46, @prateekpandey14)

v0.4 / 2020-02-13

  • feat(zfspv): adding snapshot and clone support for ZFSPV (#39, @pawanpraka1)
  • fix(zfspv): do not destroy the dataset with -R option (#40, @pawanpraka1)
  • fix(doc): Resolving the typo error in README doc (#38, @w3aman)
  • chore(metrics): adding list of zfs metrics exposed by prometheus (#36, @pawanpraka1)
  • refactor(version): bumping the version to 0.4 (#37, @pawanpraka1)
  • chore(doc): adding v0.3 changelog in the repo (#35, @pawanpraka1)

v0.3 / 2020-01-15

v0.2 / 2019-12-09

v0.1 / 2019-11-07