feat(lab): dump node logs on first step failure (self-diagnosing gates) #251
No reviewers
Labels
No labels
bug
deploy
documentation
duplicate
enhancement
good first issue
help wanted
invalid
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
femboy/blackwall!251
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/lab-dump-node-stderr-on-timeout"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Makes a failing lab gate show why a node never came up, instead of only an opaque
probe timed out.Motivation.
deception-nftfails in CI withnot ok 1 - wait port-open:61000 timed out— the engine (serves_deception_banner) never binds :61000 in the victim netns. But the engine's own panic/error goes to a per-noderun.logthat CI never prints, so the actual cause is invisible. (Passes on bare metal, so it's a container-netns gap — but we can't confirm which.expect()dies without the node's output.)Change. On the first step failure, the runner dumps every
*.logunder the run's scratch dir (/run/blackwall-lab/<id>/) as TAP#comment lines — last 80 lines each, earlier lines elided with a count. Emitted on stdout inline under the failing step, so CI's existingcat lab-gate.logshows it. Best-effort and read-only: a missing dir or unreadable file yields nothing (never fails the run), JUnit output is unchanged, and passing runs never trigger it.Tests.
format_log_dump(TAP-comment prefixing + tail/elision) andcollect_run_logs(nested.logdiscovery, sorted, non-.logignored).cargo test -p blackwall-lab62/62; clippy--deny warningsand fmt clean.Follow-up (separate): with this landed, the next
deception-nftCI failure will show the engine's panic, which pinpoints the container-netns fix.33a3dc4e3f7fe11a6bdf