v0.1.2
Bug-fix and test-coverage release.
Fixed
- TieBreaker remains after
r d(Bug 338 re-regression) — adds the missing e2e regression catcher (tests/e2e/tiebreaker-r-d-cleanup.sh). The controller-side fix landed earlier inresourcedefinition_controller.go(shouldKeepExistingWitness), but the lack of a real-DRBD test let it silently re-regress on the dev stand. Future TieBreaker changes are now gated by an e2e scenario that exerciseslinstor r done-by-one and asserts the witness invariant on the QEMU+Talos lane.
Test infrastructure
- e2e cascade attribution — when a scenario leaves the cluster dirty, the next scenario now is no longer wrongly blamed. New
strict_cleanup_on_exithelper +register_strict_cleanuptrap demote a leaving-PASS to FAIL if the cluster cleanup fails, and a pre-flight check at the top of each scenario rewrites the previous scenario's verdict to FAIL with aLEFTOVERreason when satellite pods or RDs are still present from the prior run. - piraeus interop in CI — the CI matrix now ships an
E2E (piraeus interop)job that installs the upstream piraeus-operator against the blockstor apiserver and runs the linstor-csi scenarios (rwx-ganesha,observability-three-way,observability-capacity-correlation,csi-pvc-replicated-rwo) on a dedicated stand. Main lanes 1-6 keep running bare blockstor; the interop scenarios that need linstor-csi v1.10.1 + LinstorCluster CRD are isolated to the piraeus job. csi-pvc-replicated-rwoe2e — new test pins the linstor-csi DRBD path end-to-end against the user-facingreplicatedStorageClass shape (3 DRBD replicas, fullDrbdOptions/*prop set, write→delete pod→read back on another node).
Refactor
FilesystemFormattedStamper API — addsStampFilesystemObserved(Reason=FilesystemObserved) alongside the existingStampFilesystemFormatted(Reason=MkfsSucceeded), plus a byte-identity SSA-shape test that prevents the PR #32-class.status.volumes:nullregression. The observe call site is intentionally not wired yet — it requires routing from the observer event path rather than the per-RD apply lane and will land in a follow-up.
Known follow-ups (deferred)
- Storage-only PVC auto-mkfs —
csi-pvc-localtest and the satelliterunStorageOnlyMkfshook were reverted from this release after live validation showed linstor-csi tearing down storage-only volumes mid-provisioning. Tracked as a follow-up; the user-facinglocalStorageClass (no DRBD) is not yet provisioned end-to-end through blockstor.
All non-deferred items were validated on a 3-worker Talos+QEMU stand (linstor-dev-1) with DRBD 9.2.14 + linstor-csi v1.10.1.