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
|
|
@ -26,6 +26,15 @@ contextBridge.exposeInMainWorld('api', {
|
|||
|
||||
deleteOnus: (opts) => call('api:deleteOnus', opts),
|
||||
|
||||
listOlts: (opts) => call('api:listOlts', opts),
|
||||
executeFloodChange: (opts) => call('api:executeFloodChange', opts),
|
||||
|
||||
onFloodProgress: (handler) => {
|
||||
const fn = (_ev, payload) => handler(payload);
|
||||
ipcRenderer.on('olt-flood:progress', fn);
|
||||
return () => ipcRenderer.removeListener('olt-flood:progress', fn);
|
||||
},
|
||||
|
||||
fetchFecHealth: (opts) => call('api:fetchFecHealth', opts),
|
||||
fetchOnuSnapshot: (opts) => call('api:fetchOnuSnapshot', opts),
|
||||
savePlanCsv: (opts) => call('api:savePlanCsv', opts),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue