Provides the ability to record circuit maintenance, maintenance impact and maintenance notifications in Netbox and link them to Providers and Circuits.
Project description
Netbox Circuit Maintenance Plugin
Documentation: https://jasonyates.github.io/netbox-circuitmaintenance/
A NetBox plugin built to track circuit maintenance events, the plugin itself is agnostic in that it is only built to store data surrounding maintenance events and provide an overview of historical, active and upcoming circuit and provider maintenance events. The plugin tracks maintenance events at the provider level and associates impact from each event at the circuit level.
The plugin does not directly provide an automated approach to ingesting provider notifications, instead it extends NetBox's extensive REST API and provides GET/POST/PUT/PATCH methods to manage maintenance events. The plugin is intended to be coupled with an automated parser to handle the parsing of provider notifications and the delivery of the maintenance events to the plugin's REST API. Several example parsers have been documented here.
Features
- Track provider maintenance events with provider timezone support
- Track circuit impact from provider maintenance
- Maintenance summary dashboard with stats, timeline and grouped-by-provider views
- Maintenance calendar with ICS/iCal subscription feed
- Consolidated view of active, upcoming and historical maintenance at the provider and circuit level
- Unmatched notification triage queue for automated parser workflows
- Full REST API with timezone and nullable notification support
Compatibility
This plugin is only supported on NetBox 3.4 or higher, for exact compatibility information, see the table below.
| NetBox Version | Plugin Version |
|---|---|
| 4.4+ | 0.8.0 |
| 4.4+ | 0.6.0 |
| 4.2+ | 0.5.0 |
| 4.0+ | 0.4.2 |
| 3.5 | 0.3.0 |
| 3.4 | 0.2.2 |
Installing
A working installation of Netbox 3.4+ is required - see official documentation.
Package Installation
Activate your virtual env and install via pip::
$ source /opt/netbox/venv/bin/activate
(venv) $ pip install netbox-circuitmaintenance
To ensure the Netbox Documents plugin is automatically re-installed during future upgrades, add the package to your local_requirements.txt :
# echo netbox-circuitmaintenance >> local_requirements.txt
Enable the Plugin
In the Netbox configuration.py configuration file add or update the PLUGINS parameter, adding netbox_circuitmaintenance:
PLUGINS = [
'netbox_circuitmaintenance'
]
PLUGINS_CONFIG = {
"netbox_circuitmaintenance": {},
}
Apply Database Migrations
Apply database migrations with Netbox manage.py:
(venv) $ python manage.py migrate
Restart Netbox
Restart the Netbox service to apply changes:
sudo systemctl restart netbox
Screenshots
Credits
Based on the NetBox plugin tutorial:
This package was created with Cookiecutter and the netbox-community/cookiecutter-netbox-plugin project template.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file netbox_circuitmaintenance-0.8.0.tar.gz.
File metadata
- Download URL: netbox_circuitmaintenance-0.8.0.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
075a9c6325d4318d29a2aaad6a155348b6fb2e958e2bd228147c62d2e935fdd8
|
|
| MD5 |
b4285122b412fc282cd70d23ec1664d4
|
|
| BLAKE2b-256 |
ca8fcfe47b45159e1526d1883f1bc9f8f953332d2b312ad7a2b86a3552116853
|
Provenance
The following attestation bundles were made for netbox_circuitmaintenance-0.8.0.tar.gz:
Publisher:
publish.yml on jasonyates/netbox-circuitmaintenance
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_circuitmaintenance-0.8.0.tar.gz -
Subject digest:
075a9c6325d4318d29a2aaad6a155348b6fb2e958e2bd228147c62d2e935fdd8 - Sigstore transparency entry: 953620347
- Sigstore integration time:
-
Permalink:
jasonyates/netbox-circuitmaintenance@1ce8ee39153fc60427bc6a6ffaa7427aa0596c5e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/jasonyates
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1ce8ee39153fc60427bc6a6ffaa7427aa0596c5e -
Trigger Event:
push
-
Statement type:
File details
Details for the file netbox_circuitmaintenance-0.8.0-py3-none-any.whl.
File metadata
- Download URL: netbox_circuitmaintenance-0.8.0-py3-none-any.whl
- Upload date:
- Size: 48.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb87d49da3aaea8d57db789a4b7287f49f53b5417de54b532ad543204ba35986
|
|
| MD5 |
dd501412c93463f530e9e5e9af95d1c0
|
|
| BLAKE2b-256 |
1e9915d32d104b483a562470fb8875d39b994dd5fcf6e2f1d57d8407719f4bf8
|
Provenance
The following attestation bundles were made for netbox_circuitmaintenance-0.8.0-py3-none-any.whl:
Publisher:
publish.yml on jasonyates/netbox-circuitmaintenance
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_circuitmaintenance-0.8.0-py3-none-any.whl -
Subject digest:
eb87d49da3aaea8d57db789a4b7287f49f53b5417de54b532ad543204ba35986 - Sigstore transparency entry: 953620349
- Sigstore integration time:
-
Permalink:
jasonyates/netbox-circuitmaintenance@1ce8ee39153fc60427bc6a6ffaa7427aa0596c5e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/jasonyates
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1ce8ee39153fc60427bc6a6ffaa7427aa0596c5e -
Trigger Event:
push
-
Statement type: