Skip to content

v0.3.0 — Ecosystem sprint

Choose a tag to compare

@iamjohnnymac iamjohnnymac released this 18 May 08:28

Three-PR ecosystem sprint per the v0.3 moat plan §v0.3.0 quick wins. Two integrations + one operations feature; no breaking changes. Migration 0005_fibretrunk_polarity is additive and non-destructive.

Install / upgrade

pip install -U netbox-osp                        # base install
pip install -U netbox-osp[attachments]           # + netbox-attachments
pip install -U netbox-osp[qrcode]                # + qrcode lib for SpliceClosure/Tray QR codes
pip install -U netbox-osp[ecosystem]             # both extras

Added

  • MPO polarity tracking on FibreTrunk (#18) — adds MpoPolarityChoices (Type A / B / C / D per TIA-568.3-D) and a new polarity CharField on FibreTrunk. Surfaced on the detail page (badge next to Type), table column, filter UI, REST API, REST bulk-import + bulk-edit, GraphQL filter, and the MTP harness one-click deploy wizard. Blank is permitted for non-MPO trunk types (Ribbon / Loose-tube) and unknown-polarity legacy data. Addresses NetBox core issue #5798 and the VIAVI "40 % of hyperscale downtime is fibre alignment / connector issues" stat. Migration 0005_fibretrunk_polarity is additive and non-destructive (empty-string default for existing rows).

  • Field QR codes on SpliceClosure and SpliceTray (#17) — two new PluginTemplateExtension classes (SpliceClosureQrCode, SpliceTrayQrCode) inject a Field QR code panel into the right-page area of closure / tray detail pages. The QR encodes the absolute URL of the page so a field tech can scan a printed closure label and land on the splice plan with attached photos. Uses the qrcode Python library's pure-Python SVG factory (no Pillow dependency). Install with pip install netbox-osp[qrcode]. The panel quietly hides on installs without the extra so the base install isn't affected. No PLUGINS_CONFIG changes required.

  • netbox-attachments integration (#16) — documented scope_filter configuration for netbox-attachments covering all 10 OSP models (OspCable, Tube, Strand, Splice, SpliceClosure, SpliceTray, FibreLink, FibreTrunk, TrunkBreakout, LocationGeo). Operators can attach OTDR .sor traces, splice photos, as-built PDFs, and acceptance-test certificates to any OSP record. Install with pip install netbox-osp[attachments]. Zero plugin code — pure composition via the upstream scope_filter setting. Sets up the file-storage layer that the upcoming v0.3.5 OTDR moat work will read .sor files from.

See docs/integrations.md for full install + verification steps and the rationale on why the QR feature uses qrcode directly rather than wrapping netbox-qrcode.

What's next — v0.3.5 OTDR moat (3–4 weeks)

.sor upload + parse + KeyEvents table → loss-vs-distance trace overlay → geo-anchored fault location (project event distance along the cable's GeoJSON polyline and drop a red pin on the Leaflet plant map) → baseline + drift detection + ageing margin.