This patch release of OpenEBS ZFS-LocalPV adds a formatOptions StorageClass parameter for controlling how filesystem-backed volumes are formatted, moves the Go module to a /v2 import path, and fixes CI setup issues.
New Features and Enhancements
- StorageClass formatOptions and node agent defaults
Added a formatOptions StorageClass parameter carrying the extra mkfs options used when a volume is formatted on first use, and a --default-format-options node agent flag (zfsNode.defaultFormatOptions in the helm chart) holding per-filesystem defaults applied when a StorageClass sets none. A StorageClass value replaces the default of its filesystem, the two are not merged. The parameter is ignored when fstype is "zfs", where nothing is formatted.
by @Abhinandan-Purkait in PR 760 (#760)
Upgrade Notes
-
Note for users on older kernels
mkfs.xfs 6.5 and above enable the nrext64 feature by default, and only kernel 5.19 and above can mount a filesystem that has it. On a cluster where any node runs an older kernel, XFS volumes formatted by a newer mkfs.xfs will fail to mount on those nodes. Set the XFS default on the node agent so such volumes are formatted without the feature:zfsNode:
defaultFormatOptions:
xfs: "-i nrext64=0"
The same can be set per StorageClass with formatOptions: "-i nrext64=0", which replaces the node default for volumes of that class. The equivalent applies to any other mkfs feature a newer e2fsprogs or xfsprogs turns on that the running kernel cannot mount, for example formatOptions: "-m 0 -O ^orphan_file" for ext4. The chart ships no defaults, so clusters on kernel 5.19 and above need no change.
- Go module path is now /v2
The module path changed from github.com/openebs/zfs-localpv to github.com/openebs/zfs-localpv/v2 to satisfy semantic import versioning. This affects only projects that import this repository as a Go library; update your import paths and go.mod requirement accordingly. It does not affect the driver, the helm chart, or existing volumes.
by @Abhinandan-Purkait in PR 756 (#756)
Testing and Continuous Integration
- formatOptions coverage
Extended the BDD suite to provision a volume that takes the node agent's ext4 default and one whose StorageClass replaces that default.
by @Abhinandan-Purkait in PR 760 (#760) - Nix setup action fix
Removed the hard-coded HOME override from the Nix setup action, which broke on runners whose user does not match the hard-coded path.
by @rohan2794 in PR 754 (#754) - Package installation fix
Added apt-get update before apt-get install in CI.
by @niladrih in PR 764 (#764)
New Contributors
- @rohan2794 made their first contribution in PR 754 (#754)
Full Changelog: v2.11.0...v2.11.1 (v2.11.0...v2.11.1)