Operating the lab
Everything you need after the first successful run.
In this section
-
The complete list — lab lifecycle, environment lifecycle, quality gates, and the targets the two vendored tooling repos contribute. What each one does and when to reach for it.
-
The two local-only images this repo builds (
neops-lab-frr,neops-lab-bootstrap), the four published images it consumes, and how to swap any of them for a local build. -
The four-step loop: edit
topology.json, regenerate, redeploy, commit the regenerated parameter files — because the generator tests will fail until you do. -
Indexed by symptom. Most failures here are one of three boot-order races, each with a distinctive error string and a wait that already exists to prevent it.
The lifecycle at a glance
stateDiagram-v2
[*] --> Clean
Clean --> BaseUp: make local-env-init
BaseUp --> LabUp: make local-lab-up
LabUp --> Populated: make local-lab-discover
Populated --> BaseUp: make local-lab-down
LabUp --> BaseUp: make local-lab-down
BaseUp --> Clean: make local-env-prune
Populated --> Populated: make local-lab-discover
local-lab-down destroys the devices and stops the containers but keeps the Elasticsearch and Postgres volumes, so the CMS data survives. local-env-prune is the real reset.
