96 lines
4.3 KiB
Markdown
96 lines
4.3 KiB
Markdown
|
|
# Handoff brief — OpenBMP greenfield deployment work
|
||
|
|
|
||
|
|
**From:** Claude (chat instance) working with Sam on deployment/portability.
|
||
|
|
**To:** Claude (VSCode instance) working directly in the `obmp-docker` Gitea repo.
|
||
|
|
**Date:** 2026-07-20.
|
||
|
|
|
||
|
|
We don't share memory. This packet is the bridge. Sam is the channel between us.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## One-paragraph summary
|
||
|
|
|
||
|
|
Sam is standing the `obmp-docker` stack up on a **new WSL2 host** (`NWE-LT02`,
|
||
|
|
Ubuntu 24.04), separate from the dev lab, to shake out greenfield-portability
|
||
|
|
problems before prod. Over this session we built a `deploy.sh` wrapper around
|
||
|
|
the repo's existing `setup.sh` that reconciles host-specific `.env` values
|
||
|
|
*before* provisioning, plus supporting docs. We hit and fixed a long chain of
|
||
|
|
deployment artifacts (details in `02-FINDINGS.md`). The stack is now **finally
|
||
|
|
pulling images and coming up on a native docker daemon** after the big
|
||
|
|
blocker — Docker Desktop's cross-VM bind-mount failure — was resolved by
|
||
|
|
switching to native docker-in-WSL. **Current open thread: Grafana came up
|
||
|
|
without its expected customizations, and we're not sure the repo checkout is on
|
||
|
|
the right branch.** That's where you come in — you can see the repo directly.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## What this session produced (lives in Sam's chat outputs, not the repo yet)
|
||
|
|
|
||
|
|
A `deploy.sh` + docs bundle intended to drop into the repo root. Sam has these
|
||
|
|
files; they are NOT yet committed to the repo (that's a decision for you + Sam):
|
||
|
|
|
||
|
|
- `deploy.sh` — interactive greenfield deploy wrapper (see `01-DEPLOY-SCRIPT.md`)
|
||
|
|
- `DEPLOYMENT-TYPES.md` — the three deployment types, locked
|
||
|
|
- `PORTABILITY-FINDINGS.md` — everything that broke and why
|
||
|
|
- `router-bmp-config.md` — IOS-XR BMP config reference
|
||
|
|
- `README.md` — bundle overview
|
||
|
|
|
||
|
|
If you want to integrate these into the repo, coordinate branch/placement with
|
||
|
|
Sam. They were written against the repo's current `setup.sh`, `.env.example`,
|
||
|
|
and `docker-compose.yml` as pasted into chat.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## THE OPEN QUESTION FOR YOU (highest priority)
|
||
|
|
|
||
|
|
Grafana is up but **its customizations are missing**. Sam expected them to be
|
||
|
|
"part of the repo." Then Sam raised the real doubt: **"did I even pull the
|
||
|
|
correct branch?"**
|
||
|
|
|
||
|
|
You can answer this directly — you have the repo. Please determine:
|
||
|
|
|
||
|
|
1. **What branch/commit is the working checkout on?**
|
||
|
|
`git branch --show-current && git log --oneline -5 && git status`
|
||
|
|
|
||
|
|
2. **Is the Grafana provisioning committed, and on which branch?**
|
||
|
|
The stack provisions Grafana from `obmp-grafana/provisioning/` (setup.sh
|
||
|
|
copies it to `${OBMP_DATA_ROOT}/grafana/provisioning/`, bind-mounted into
|
||
|
|
the container). Check whether dashboards/datasources actually exist in the
|
||
|
|
tree, and on which branch:
|
||
|
|
```
|
||
|
|
git ls-tree -r --name-only HEAD -- obmp-grafana/provisioning/
|
||
|
|
git branch -a
|
||
|
|
git ls-tree -r --name-only origin/main -- obmp-grafana/provisioning/
|
||
|
|
# and any feature branch you've been working on
|
||
|
|
```
|
||
|
|
|
||
|
|
3. **Were the Grafana customizations ever committed as code**, or did they only
|
||
|
|
ever exist as UI state in a `grafana.db` (i.e. hand-built, never exported to
|
||
|
|
provisioning)? This is the crux: "supposed to be in the repo" may have been
|
||
|
|
intent, not reality. You'd know — did you commit dashboard JSON?
|
||
|
|
|
||
|
|
The fork:
|
||
|
|
- **On wrong branch** → check out the right one, redeploy; provisioning returns.
|
||
|
|
- **Right branch, provisioning present but not loading** → permissions/timing;
|
||
|
|
`docker compose restart grafana` after confirming files are in
|
||
|
|
`/var/openbmp/grafana/provisioning/`.
|
||
|
|
- **Provisioning never committed** → the customizations were UI-only; they need
|
||
|
|
exporting to the repo now so future greenfield deploys reproduce them. This is
|
||
|
|
itself a portability finding.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Immediate deployment state (as of handoff)
|
||
|
|
|
||
|
|
- Host: WSL2, Ubuntu 24.04.4, `NWE-LT02`, 22 vCPU / ~15 GB RAM.
|
||
|
|
- Daemon: **native docker-ce 29.6.2** (NOT Docker Desktop — that was the bug).
|
||
|
|
`docker info` confirms `Operating System: Ubuntu 24.04.4 LTS`.
|
||
|
|
- `OBMP_DATA_ROOT=/var/openbmp` (native ext4, `/dev/sdg`).
|
||
|
|
- Deploy command in use: `./deploy.sh --wsl --scope full-stack --auth local`
|
||
|
|
- Stack was pulling images and progressing past the volume-mount failure that
|
||
|
|
blocked every earlier attempt.
|
||
|
|
- Grafana reachable at `http://<wsl-ip>:3000/grafana/`, login `admin`/`openbmp`.
|
||
|
|
|
||
|
|
See `02-FINDINGS.md` for the full list of what broke and how it was fixed, and
|
||
|
|
`03-NEXT-STEPS.md` for what remains.
|