Skip to content

v0.1.4

Choose a tag to compare

@kvaps kvaps released this 31 May 21:48
· 78 commits to main since this release
44c8862

Bug-hunt + REST safety release. Closes #45 (autoplace capacity gate on the real linstor-csi single-node create path) and re-enables the corresponding e2e scenario.

Fixed

  • Autoplace / spawn / single-node-create capacity gate (#45) — when a StorageClass set placementCount: 1 + nodeList, linstor-csi's manual scheduler bypassed the existing autoplace gate and accepted placement on a 100%-full pool. Capacity check now lives inside createOneResource (shared by both /v1/resource-definitions/{rd}/resources and the single-node alias /v1/resource-definitions/{rd}/resources/{node}); rejects with 409 + FAIL_NOT_ENOUGH_NODES. 4-tier pool-name resolver honours RG.SelectFilter.StoragePoolList.
  • Recovery after operator drbdadm down no longer revertsshouldSkipNetOnAdjust narrowed to StandAlone AND peer-devices-present.
  • Typed FAIL_* envelopes on Resource / SP / Node DELETE; CSI driver treats FAIL_EXISTS_SNAPSHOT_DFN as idempotent success.
  • Duplicate SP POST refused with 409 + FAIL_EXISTS_STOR_POOL instead of silently mutating.
  • Internal annotations stripped from REST reads (blockstor.io/*, *.blockstor.cozystack.io/*).

Added

  • Missing REST routes wired: /v1/storage-pool-definitions, /v1/migrate-disk, properties/info family.
  • DRBD promotion + node event streams: GET /v1/events/drbd/promotion, GET /v1/events/nodes.

Test infrastructure

  • observability-capacity-correlation and csi-pvc-local restored to the piraeus-interop lane.
  • 4 flaky scenarios hardened (state-offline-unknown, state-auto-resync, recovery-down-reverses, recovery-deleting-convert).
  • stand/up.sh ported to talosctl 1.13 + skip-list for /24 slots inside Talos's 10.96.0.0/12 service CIDR.

See CHANGELOG.md for the full entry.