This repository has been archived by the owner on Jul 6, 2023. It is now read-only.
Release 10
Major additions in this release
- Heketi now tracks additional metadata for devices, based on LVM PV UUID. This allows Heketi to manage devices even if the device path (for example /dev/sda) changes if the node is rebooted.
- Authentication is now always enabled. [1]
- Heketi now provides a tool to patch endpoints. This can be used when nodes have changed to update endpoints to match.
- Heketi now sets up a strict set of volume options for the 'heketidbstorage' volume by default
- Heketi now provides tooling to update the volume options for existing 'heketidbstorage' volumes
- Heketi can now be run with specific ssh known hosts
- A system for matching devices with volumes has been added. This tag matching [2] system allows admisistrators to create devices tiers or similar scenarios.
- LVM commands can now be executed via a wrapper script. For container use cases, this wrapper script can be used to execute LVM commands on the host. However, the script can be used for other purposes as needed.
- Added a new "brick evict" feature: brick eviction removes a single specified brick from a volume, and then automatically replaces it.
- Device remove is now based on brick eviction. By basing device remove on brick eviction device removal should now be more reliable and debuggable.
- Heketi can now expand existing block volumes via the
heketi-cli blockvolume expand
subcommand.
Changelog
Among numerous other stability and bug fixes:
- Improved the behavior and logging for executed commands
- Only apply volume limit to block volumes that create a block hosting volume
- Perform device resync updates in a single db transaction
- Do not perform device resync for devices with a pending operation
- Fix issue where old BHVs could not be cleaned up
- Add a '--cluster' boolean flag to the device resync command.
- Add metrics for operations
- For commands that work on multiple clusters, errors that occur on one or more clusters can be reported by cluster id
- Fixed a panic within the operations cleanup subsystem
- Topology prints "removed" rather than "failed" state
- The kubernetes executor can now time out "stuck" commands like the SSH executor could
- Improve error reporting when device setup fails
- Support specifying a node selector for the heketi-storage-copy-job command
- Fixed an issue with internal db inconsistencies after expanding a volume
- Extended device metrics
- Fix a panic within the diagnostic code used to help debug unmount failures
- Allow specifying mount options for bricks in heketi.json or an environment variable.
- The selection of valid block hosting volumes is now randomized
- Prevent characters in a "db dump" from being treated like go format strings
[1] - Authentication can no longer be turned off via the configuration JSON file. Authentication can be disabled for testing and development purposes with a command line option to the server only.
[2] - https://github.com/heketi/heketi/blob/release/10/docs/design/tag-matching.md