Skip to content

v0.1.9

Choose a tag to compare

@kvaps kvaps released this 03 Jun 17:31
· 37 commits to main since this release
2ddd4de

Patch release with a single operator-reported fix. Versions v0.1.6–v0.1.8 are skipped: those tags pre-exist in the repository from an inherited lineage and do not correspond to blockstor releases.

Fixed

  • Resource flaps forever after vd d (Bug 399, #92) — deleting a volume definition removed the volume from the RD and the DRBD kernel, but two add-only projections never forgot it: the controller's RD → Resource.spec.volumes projection kept a stale entry, and the satellite observer's volume cache only evicted on the events2 destroy device frame — which a DISKLESS/tiebreaker replica never receives (it has no local disk to destroy) — so the observer re-emitted a phantom status.volumes[n]=Diskless every kernel tick, oscillating the resource status and PATCH-storming the apiserver ~1/s indefinitely. The controller now prunes spec.volumes entries absent from the RD, and the observer converges its volume cache against the live RD volume set (the blockstor.io/volume-numbers annotation), so both diskful and diskless replicas settle to exactly the remaining volumes. The e2e volumes_settled flap gate was also made kine-safe (volume-set stability across polls instead of resourceVersion equality, which k3s/kine inflates with the global store revision).