Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/nornir

.nornir/supporting-subsystems-for-idiots.md

Supporting subsystems — for idiots

Class: idiot. Every step, nothing assumed. This covers the two friendliest of this run's supporting subsystems: watching a project simulate itself to done (the funnel ▶ Simulate flow button) and seeing what nornir is doing (the job list). The techie details — the robot test matrix, the release gates, and SCIP find-usages — are in supporting-subsystems-guide.md. The what is in supporting-subsystems-design.md.

You press Enter after every command, and click buttons in the app window.


PART A — watch a project run itself to the finish

A funnel is nornir's picture of a project: a bunch of tasks, and which task has to finish before which. "Simulate flow" is a fast-forward button: it pretends time passes and moves every task to Done in the right order, so you can see how many rounds it takes and whether anything gets stuck.

Step 1 — open the app

cd ~/git/nornir
cargo run --features viz --bin nornir-ui

A window opens (nornir's dashboard). Wait for it to settle.

Step 2 — go to the Funnel tab

Click the 🗂 Funnel tab along the top.

Step 3 — press ▶ Simulate flow

Find and click the ▶ Simulate flow button.

nornir now fast-forwards the whole project. It shows you:

If remaining is more than zero, some tasks are waiting on a task that failed and will never start — that's the simulator showing you a bottleneck before it happens in real life.

If the button is greyed out and says "local-mode only", your app is in remote mode. Start a plain local one with the command in Step 1.


PART B — see what nornir is doing right now

Everything slow nornir does — building a pipeline, recording a saga, scanning for security problems, rendering docs — writes itself down in one list called the job ledger. You don't start these; you just read the list.

Step 4 — list the jobs

In a terminal:

nornir jobs

You get a table, newest first. Each row is one thing nornir did (or is doing), with its status: ✓ done, … run (still going), or ✗ fail.

Step 5 — filter to one kind of thing

Add --kind to see just one family:

nornir jobs --kind ci_build        # brokkr pipeline runs
nornir jobs --kind saga_capture    # saga recordings you saved
nornir jobs --kind security_scan   # security scans
nornir jobs --running              # only things still in progress

Step 6 — spot a failure

nornir jobs --json | jq '.[] | select(.status=="failed")'

A failed row with the note "dropped without finish/fail" means that job crashed or bailed out early — and nornir noticed and marked it failed instead of leaving it looking like it's still running forever. That safety net is on for every job, always.


If something goes wrong

That's the friendly half: ▶ Simulate flow to fast-forward a project, and nornir jobs to see everything nornir has done.