Skip to content
This repository has been archived by the owner on Jul 6, 2023. It is now read-only.

Release 10

Compare
Choose a tag to compare
@phlogistonjohn phlogistonjohn released this 21 Jul 14:49
· 83 commits to master since this release

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