Skip to main content

A Netbox plugin that supports Virtual Circuit management

Project description

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.

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:

clean            Clean up build artifacts
deploy           Run a local development deployment of the plugin with NetBox
docker           Build a local docker image
help             Print usage information
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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netbox-virtual-circuit-plugin-0.2.0.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file netbox-virtual-circuit-plugin-0.2.0.tar.gz.

File metadata

  • Download URL: netbox-virtual-circuit-plugin-0.2.0.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for netbox-virtual-circuit-plugin-0.2.0.tar.gz
Algorithm Hash digest
SHA256 70d9e60871a9acbd24bf051f40b78942814278941f0428392527c9d1e1d7250b
MD5 23a1540af1bdd7cc46fcd3f8463d074d
BLAKE2b-256 c3eb03dadd5934efb35bf2b39715b3038afe0d6032a3d517f77f9546c601b9f5

See more details on using hashes here.

Provenance

File details

Details for the file netbox_virtual_circuit_plugin-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: netbox_virtual_circuit_plugin-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 39.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for netbox_virtual_circuit_plugin-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7c4452e5dabb16362b12099f9cc0ec087eee6bb569daf795c40d9fd68f6b0167
MD5 d74c0314bf42c70936ee72e56b7eccb8
BLAKE2b-256 1cae9d85ae8d9af3f4465f0b990ac9f3a993dcb525d7bcbe40181e6631076f4a

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page