Skip to content

Commit e8b0d5a

Browse files
kvapsclaude
andcommitted
docs(plan): record full controller-runtime → dispatcher → satellite roundtrip
kubectl apply -f Resource → ResourceReconciler watch fires → dispatcher dials the right satellite → satellite Reconciler.Apply runs drbd.Build + shells out to drbdadm. The expected per-resource error ("no resources defined!") confirms every hop including the kernel shell-out works. Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
1 parent c5b5aeb commit e8b0d5a

1 file changed

Lines changed: 15 additions & 4 deletions

File tree

PLAN.md

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -260,10 +260,21 @@ Full scope list lives in `docs/csi-api-surface.md` (to be created in Phase 1).
260260
drbdadm. End-to-end smoke against `test-worker-1` returned a
261261
per-resource error ("drbdadm adjust: no resources defined!"
262262
because the test req had no hosts), proving every hop works.
263-
Remaining for green UpToDate: controller-side reconciler that
264-
diffs RD/Resource CRDs and dispatches a populated
265-
ApplyResourcesRequest with hosts/peers/minors; storage-pool
266-
seeding so a non-DISKLESS resource has somewhere to put its LV.
263+
**Controller-side dispatch landed (2026-05-08):** `pkg/dispatcher`
264+
builds a populated DesiredResource (port/minor/node-id derived
265+
by SHA256 of the RD name; same-RD peers + per-peer drbd_options
266+
for the mesh) and dials the target satellite's
267+
`SatelliteEndpoint` over gRPC; ResourceReconciler picks up
268+
Resource CRD changes and calls Apply. End-to-end on the stand:
269+
`kubectl apply -f Resource{smoke-rd, test-worker-1, DISKLESS}`
270+
→ controller logs "satellite rejected apply" with the expected
271+
"drbdadm adjust: no resources defined!" — every hop on the wire
272+
including the kernel shell-out fires.
273+
Remaining for green UpToDate: dispatcher needs to pass real peer
274+
addresses (currently 0.0.0.0 placeholders); satellite must
275+
rewrite its own bind address to $POD_IP at .res render time;
276+
storage-pool seeding so a non-DISKLESS resource has somewhere
277+
to put its LV.
267278

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

0 commit comments

Comments
 (0)