Skip to content

Commit 11e3a19

Browse files
kvapsclaude
andcommitted
docs(plan): tick Phase 10.7 lsblk + signature cross-checks complete
Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
1 parent b35fbe1 commit 11e3a19

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

PLAN.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -740,7 +740,7 @@ satellite-execute model the rest of Phase 10 uses.
740740

741741
**Discovery loop (satellite, periodic + udev-triggered):**
742742

743-
- [~] `lsblk` parser + free-disk filter (2026-05-10, partial). `pkg/satellite/lsblk.go` — `Lsblk(ctx, exec)` runs `lsblk -Pb -o NAME,KNAME,SIZE,FSTYPE,TYPE,MOUNTPOINT,WWN,MODEL,SERIAL,ROTA,TRAN`; `parseLsblkPairs` handles embedded-space MODEL strings via a hand-rolled KEY="value" reader; `IsFreeBlockDevice` enforces `TYPE=disk ∧ no FSTYPE ∧ no MOUNTPOINT` (pinned by 7 sub-tests). Cross-checks against `pvs --noheadings` / `zpool list -PHv` / `drbdmeta show-md` / `wipefs -n` come with the discovery loop wiring (controller-runtime satellite required).
743+
- [x] `lsblk` parser + free-disk filter + signature cross-checks (2026-05-10). `pkg/satellite/lsblk.go` — `Lsblk(ctx, exec)` runs `lsblk -Pb -o NAME,KNAME,SIZE,FSTYPE,TYPE,MOUNTPOINT,WWN,MODEL,SERIAL,ROTA,TRAN`; `parseLsblkPairs` handles embedded-space MODEL strings via a hand-rolled KEY="value" reader; `IsFreeBlockDevice` enforces `TYPE=disk ∧ no FSTYPE ∧ no MOUNTPOINT`. `pkg/satellite/signatures.go` adds `HasLVMSignature` / `HasZFSSignature` / `HasDRBDSignature` / `HasOtherSignature` cross-checks plus `IsDeviceFree(ctx, exec, lsblkDevice)` which composes the chain with first-positive short-circuit + lsblk-rejection skip. Both pinned by unit tests covering missing-tool fallthrough and short-circuit invariants.
744744
- [ ] Set-difference against existing `PhysicalDevice` CRDs labelled with this node:
745745
- New free device → `client.Create(PhysicalDevice{name: <node>-<id-slug>, status: ...})`
746746
- Already published, attributes changed (e.g. drive replaced) → `client.Status().Update(...)`

0 commit comments

Comments
 (0)