v0.1.4
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'smanualscheduler bypassed the existing autoplace gate and accepted placement on a 100%-full pool. Capacity check now lives insidecreateOneResource(shared by both/v1/resource-definitions/{rd}/resourcesand the single-node alias/v1/resource-definitions/{rd}/resources/{node}); rejects with 409 +FAIL_NOT_ENOUGH_NODES. 4-tier pool-name resolver honoursRG.SelectFilter.StoragePoolList. - Recovery after operator
drbdadm downno longer reverts —shouldSkipNetOnAdjustnarrowed toStandAlone AND peer-devices-present. - Typed FAIL_* envelopes on Resource / SP / Node DELETE; CSI driver treats
FAIL_EXISTS_SNAPSHOT_DFNas idempotent success. - Duplicate SP POST refused with 409 +
FAIL_EXISTS_STOR_POOLinstead 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/infofamily. - DRBD promotion + node event streams:
GET /v1/events/drbd/promotion,GET /v1/events/nodes.
Test infrastructure
observability-capacity-correlationandcsi-pvc-localrestored to the piraeus-interop lane.- 4 flaky scenarios hardened (
state-offline-unknown,state-auto-resync,recovery-down-reverses,recovery-deleting-convert). stand/up.shported to talosctl 1.13 + skip-list for/24slots inside Talos's10.96.0.0/12service CIDR.
See CHANGELOG.md for the full entry.