Skip to main content

NetBox Virtual Circuit Plugin

A plugin for NetBox that supports Virtual Circuit management.

Definitions

A Virtual Circuit is a circuit created by routing two or more VLANs together.

Each Virtual Circuit is identified by a name, a numeric ID (0-32767), along with a context. Each Virtual Circuit must be assigned one of the following operational statuses:

  • Pending Configuration
  • Configured
  • Pending Deletion
  • Configuration Error

When a VLAN is assigned to a Virtual Circuit, it can not exist in another Virtual Circuit without first being removed.

Installing

Since the plugin is published on PyPI, simply issue:

pip install netbox-virtual-circuit-plugin

to download and install it.

To enable to plugin, add the plugin's name to the PLUGINS list in configuration.py like so:

PLUGINS = ['netbox_virtual_circuit_plugin'] # Note that the name here use underscore, not hyphen.

Don't forget to restart NetBox to load the new plugin.

You might also have to manually run the database migrations for Netbox to create the appropriate tables for virtual circuits.

python3 manage.py migrate

For more information about installing plugins, refer to NetBox's documentation.

Compatibility

Below is a table describing the compatibility of various NetBox versions with NetBox Virtual Circuit Plugin versions.

Netbox 2.8 NetBox 2.9 Netbox 2.10 Netbox 2.11 Netbox 3.0 Netbox 3.1
1.0.x ✓ ✗ ✗ x x x
1.1.x to 1.5.x ✗ ✓ ✗ x x x
1.6.x ✗ ✗ ✓ x x x
1.7.x ✗ ✗ x ✓ x x
2.0.0 ✗ ✗ x ✓ x ✓

Using

Once the plugin is installed correctly as instructed above, one can find the Virtual Circuit section under Plugins navigation tab via NetBox UI that is ready to use with correct admin permission.

As for REST API use cases, the 2 group endpoints are exposed at:

  • /api/plugins/virtual-circuit/virtual-circuits
  • /api/plugins/virtual-circuit/vlans

While the former one is for creating/retrieving/modifying/deleting Virtual Circuits, the later one is for assigning and managing Virtual-Circuit-to-VLAN connections. For more information, refer to /api/docs as it also conforms to Swagger Specification for hosted visual documentations.

Developing

Plugins are essentially self-contained Django apps which integrate with NetBox to provide custom functionality. For more information, see NetBox documentation.

To help setup the development environment, it comes with a CLI helper based on Makefile, including the following commands:

changelog        Generate a changelog file from GitHub Issue Tracker
clean            Clean up build artifacts
deploy           Run a local development deployment of the plugin with NetBox
docker           Build a local docker image
github-tag       Create and push a tag with the current version
help             Print usage information
migrate          Run makemigrations in Django and produce a migration file locally
release          Package and distribute the current release to PyPI
test             Run unit tests
version          Print the version

That said, one can simply build and run a local development image of the plugin with NetBox with a single line:

make build && make deploy

The application will be available after a few minutes at http://0.0.0.0:8000/. The default credentials are:

  • Username: admin
  • Password: admin
  • API Token: 0123456789abcdef0123456789abcdef01234567

Below are several screenshots of the UI:

Navigation view

Add a Virtual Circuit

List all Virtual Circuits

Assign a VLAN to a Virtual Circuit

Virtual Circuit Single View (2 VLANs assigned)

List of all connections

Contributing

If you experience a bug, would like to ask a question, or request a feature, open a new issue and provide as much context as possible. All contributions, questions, and feedback are welcomed and appreciated.

License

NetBox Virtual Circuit Plugin is licensed under GPLv3. See LICENSE for more info.

Metadata

Release files for netbox-virtual-circuit-plugin 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for netbox-virtual-circuit-plugin 2.0.0
File Size Uploaded
netbox-virtual-circuit-plugin-2.0.0.tar.gz 1.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for netbox-virtual-circuit-plugin 2.0.0
File Interpreter ABI Platform
netbox_virtual_circuit_plugin-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.1 MB

Release files / netbox-virtual-circuit-plugin-2.0.0.tar.gz

Download URL netbox-virtual-circuit-plugin-2.0.0.tar.gz
Size 1.0 MB
Tags Source
SHA-256 checksum
How to use checksums
2bdc985a1bd99371e446cebe971fdc46958c367cb9eec10d6b907cd8f53cff41
BLAKE2b-256 checksum
How to use checksums
b0b425e0d0cbccd4ddaf7c3087ccc0d6bd829477cd445b6233c3ad3c95487b91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.5

Release files / netbox_virtual_circuit_plugin-2.0.0-py3-none-any.whl

Download URL netbox_virtual_circuit_plugin-2.0.0-py3-none-any.whl
Size 43.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
edd7c4193dd2a4f1090b35f24b79f82684d3a168080444b341ed1a079dec5d41
BLAKE2b-256 checksum
How to use checksums
f6b369a571a4bb5d69a8368b2fa7fd8f90c0767a9044a2b15d5ca36658650afc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.5

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

1.7.0

2 release files

1.6.2

2 release files

1.6.1

1 release file

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page