Skip to content

Commit 17b89ce

Browse files
kvapsclaude
andcommitted
docs(plan): disk:UpToDate reached on stand via blockstor → loopfile → DRBD
Full pipeline proven end-to-end: REST CRD → controller-runtime watch → Dispatcher → satellite gRPC → Reconciler.applyStorage → loopfile/losetup → drbdadm adjust → drbdsetup status: role:Primary disk:UpToDate The architecture-side milestone for #232 is closed. Inter-replica sync still needs TCP reachability between Talos workers on DRBD's TCP port — separate network slice, not a blockstor code gap. Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
1 parent 29b9169 commit 17b89ce

1 file changed

Lines changed: 21 additions & 7 deletions

File tree

PLAN.md

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -290,13 +290,27 @@ Full scope list lives in `docs/csi-api-surface.md` (to be created in Phase 1).
290290
test-worker-1 role:Secondary
291291
```
292292
Each peer sees the other as Secondary — DRBD's connection state
293-
has converged. UpToDate-with-data still needs at least one
294-
diskful replica, which is a storage-pool seed away
295-
(Reconciler.applyStorage already implements the LVM-thin / ZFS
296-
/ file paths; the satellite just needs a Provider registered
297-
under the right pool name and a backing block device on the
298-
Talos worker, which Talos doesn't expose by default — separate
299-
stand-prep slice).
293+
has converged.
294+
**`disk:UpToDate` reached** (2026-05-08): pkg/storage/loopfile
295+
lands a sparse-file + losetup provider so Talos workers (which
296+
don't expose a free block device) can back non-DISKLESS
297+
resources. The satellite registers it as `--loopfile-pool-name=stand`
298+
under hostPath `/var/lib/blockstor-pool`. End-to-end with a
299+
diskful 2-replica RD:
300+
```
301+
stand# kubectl apply -f data-rd (size 64Mi) + 2 Resource (StorPoolName: stand)
302+
stand# kubectl exec satellite -- drbdadm primary --force data-rd
303+
stand# kubectl exec satellite -- drbdsetup status data-rd
304+
data-rd role:Primary
305+
disk:UpToDate
306+
```
307+
blockstor's full pipeline (REST/CRD → controller-runtime watch
308+
→ Dispatcher → satellite gRPC → Reconciler.applyStorage →
309+
losetup → drbdadm adjust → DRBD kernel) is proven on a real
310+
cluster. Inter-replica sync convergence depends on TCP
311+
reachability between Talos workers on DRBD's chosen TCP port
312+
(7878), which is a separate network/firewall slice; the
313+
blockstor-side architecture is green.
300314

301315
**Stand walkthrough so far** (proven on `ssh ubuntu@129.213.29.101`,
302316
2026-05-08):

0 commit comments

Comments
 (0)