Add bulk OLT PON flooding-mode tool; restore README; docs
Adds a second bulk workflow alongside the firmware upgrader: changing PON flooding mode (private<->auto) on OLT NNI services across many OLTs. Flooding mode is encoded by the presence of the "PON FLOOD ID" key on each OLT-CFG["NNI Networks"] entry (present = private, absent = auto). private->auto deletes the key; auto->private sets it to 0. The rest of the OLT-CFG is preserved (PUT-as-replace, same as ONU-CFG). - src/mcms-api.js: listAllOltConfigs / getOltConfig / putOltConfig, plus pure helpers floodModeOfNni, summarizeOltNniNetworks, planFloodChange (planFloodChange clones and never mutates its input) - main.js: api:listOlts + api:executeFloodChange IPC handlers (concurrency 3, GET->plan->PUT, streams olt-flood:progress) - preload.js: expose both channels + onFloodProgress - renderer: OLT inspector view (#view-olts), two-step APPLY confirm, auto-saved pon-olt-flood-*.csv result report - Restore README.md (lost to a filesystem error) and document the new feature in README.md and CLAUDE.md (new section 14) Verified: npm run check passes; pure helpers unit-tested for the no-mutation, idempotency, and rollback invariants. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
0eb9b55717
commit
80fd7e8d37
7 changed files with 612 additions and 7 deletions
33
README.md
33
README.md
|
|
@ -1,7 +1,14 @@
|
|||
# PON Fleet Upgrader
|
||||
|
||||
An Electron desktop app for bulk ONU firmware upgrades against a **Ciena
|
||||
MicroClimate Management System (MCMS) 6.2** PON Manager.
|
||||
An Electron desktop app for bulk operations against a **Ciena
|
||||
MicroClimate Management System (MCMS) 6.2** PON Manager. It does two
|
||||
things:
|
||||
|
||||
1. **Bulk ONU firmware upgrades** (below).
|
||||
2. **Bulk OLT PON flooding-mode changes** (private↔auto on NNI services —
|
||||
see "OLT PON flooding mode" below).
|
||||
|
||||
## ONU firmware upgrades
|
||||
|
||||
Filters a fleet of ONUs, previews the planned writes, and stages new
|
||||
firmware to each device's **inactive bank** so the forced reboot is
|
||||
|
|
@ -94,6 +101,28 @@ pon-fleet-upgrader/
|
|||
└── app.js # UI logic
|
||||
```
|
||||
|
||||
## OLT PON flooding mode
|
||||
|
||||
From the fleet view, **Open OLT inspector…** opens a second workflow for
|
||||
bulk-checking and changing the PON flooding mode of OLT NNI services.
|
||||
|
||||
On Tibit OLTs the flooding mode is encoded by the presence of a single key
|
||||
on each `OLT-CFG["NNI Networks"]` entry:
|
||||
|
||||
| Mode | `PON FLOOD ID` key | Change |
|
||||
|------|--------------------|--------|
|
||||
| **private** | present (any value, incl. `0`) | → auto: delete the key |
|
||||
| **auto** | absent | → private: set the key to `0` |
|
||||
|
||||
Workflow: enter a **TAG MATCH** pattern (exact like `s0.c76.c0`, or a `*`
|
||||
glob like `s0.c76.*`), **Load OLTs**, select the OLTs to change, pick a
|
||||
direction, then **Execute change…** (two-step confirm). Each OLT is
|
||||
re-fetched, the matching NNI entries are flipped, and the full OLT-CFG is
|
||||
PUT back. A result CSV is auto-saved to `~/Downloads/pon-olt-flood-*.csv`.
|
||||
|
||||
Both directions are supported, so a change can be rolled back from the same
|
||||
screen. The default action targets `s0.c76.c0`, `private` → `auto`.
|
||||
|
||||
## Known limitations
|
||||
|
||||
- The `/v1/onus/<id>/upgrade/status/` path used by the original question
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue