Releases: no42-org/netbox-opennms-plugin
Release list
v0.0.4
Highlights
- No plugin code changes. netbox-opennms-plugin 0.0.4 behaves identically to 0.0.3 — this release refreshes the project's development, CI, and demo environments.
Test & demo stacks
- PostgreSQL 16 → 18 across all compose stacks, adopting the postgres:18 image's new
/var/lib/postgresqldata layout. Verified against the plugin's supported matrix: OpenNMS Horizon 36 supports PostgreSQL 14–18, NetBox 4.6 requires 14+. Existing quickstart demos start with a fresh database — the old PG16 volume is left on disk for manual dump/restore. (#47) - OpenNMS Horizon 36.0.1 → 36.0.2 and Redis 7 → 8 in the test and quickstart stacks; CI's live round-trip runs against Horizon 36.0.2. (#39, #41, #42, #44)
Under the hood
- Dependabot now scans the Compose files (
docker-composeecosystem) for image updates — the previousdockerconfiguration failed on every run because the repo has no Dockerfiles. (#38)
Full changelog: v0.0.3...v0.0.4
v0.0.3 — pure-Python install
Highlights
- Pure-Python package — no more compiled dependency. The OpenNMS requisition and foreign-source XML is now rendered with the standard library (
xml.etree.ElementTree) instead oflxml. The wheel ispy3-none-anywithrequestsas its only runtime dependency, so installs — including containers and air-gapped builds — no longer pull a C extension. The requisition sent to OpenNMS is unchanged. (#33)
Deployment docs
- Clarified the Helm / custom-image install path and the requirement that the web and RQ-worker pods run the same plugin-bearing image. (#32)
- Corrected the explanation of why runtime-mounted plugins aren't supported: it's a chart / netbox-docker constraint, not the plugin. (#36)
Under the hood
- Automated release-to-PyPI via GitHub Trusted Publishing (OIDC, no API tokens). (#35)
- CI runs the live OpenNMS Horizon 36 round-trip on every pull request. (#31)
Full changelog: v0.0.2...v0.0.3
v0.0.2 — documentation release
A documentation-only patch release. No functional changes to the plugin — the API, migrations, and behavior are identical to v0.0.1. Safe to skip if you don't need the improved docs.
What changed
- README restructured to GitHub best practices, with a UI screenshot (#26).
- Contributor guide now published as a styled GitHub Pages page (#27).
- Quickstart folded into the guide's Local test environment section and trimmed from the README, so there's a single place to look (#28, #29).
Requirements
NetBox 4.6.1+ · Python 3.12+ · OpenNMS Horizon 36
Install
pip install netbox-opennms-plugin
Verified in CI: lint + the unit suite and the wheel-packaging check are green.
v0.0.1 — first public release
Provision NetBox devices and virtual machines into OpenNMS Horizon 36 as requisition nodes, via the OpenNMS REST provisioning API.
Highlights
- Filter-based Requisitions — group Devices/VMs into a Foreign Source with a saved or custom NetBox filter; overlaps between requisitions surface as blocking conflicts to resolve before sync.
- Discovery-driven detectors & policies — configure a requisition's detectors and provisioning policies from the live OpenNMS catalog (parameters / options / required discovered via REST), with a curated preset overlay and a freeform class escape hatch.
- Per-interface SNMP roles — the management IP is the Primary SNMP interface by default; add more IPs as Primary / Secondary / Not-eligible.
- Asset & metadata enrichment — map NetBox inventory to OpenNMS node asset fields, and attach meta-data at node / interface / service scope.
- Graded node status — a device with no management IP is provisioned as an inventory-only node with a warning, not silently skipped.
- Safe sync — a dry-run diff against the live OpenNMS state before syncing, serialized per-Foreign-Source background jobs, and a drift reconciler that clears only the requisitions the plugin owns.
- Connect OpenNMS — a permission-gated page to verify the configured connection.
Requirements
NetBox 4.6.1+ · Python 3.12+ · OpenNMS Horizon 36
Install
pip install netbox-opennms-plugin
Add netbox_opennms to PLUGINS, set PLUGINS_CONFIG, run manage.py migrate, and restart NetBox + its worker. Kubernetes/Helm and a quickstart demo are in the README.
Verified in CI: lint + the 608-test unit suite and the live OpenNMS Horizon 36 round-trip all green.