NetBox plugin for ptov. Uses dcnodatg project.
Project description
NetBox PtoV Plugin
Netbox plugin for pulling runstate (config and topology) from Arista switches and replicating them in a GNS3 virtual lab using Arista cEOS containers
- Free software: Apache-2.0
- Documentation
- Repository
- Python Package
Features
-
Creates a new model/table for storing the DNS names of your GNS3 servers. ("Boring, Sidney; borrring, borrrrrrring", I know.)
-
Provides a screen/page that prompts you to:
- Select a GNS3 server and as few or as many Arista switches as you want from your devices table.
- Enter a set of Arista EOS credentials
- Enter a project-name to use for a new project on the GNS3 server
-
Programmatically instantiates a GNS3 virtual-lab, populated with Arista cEOS container/nodes, each of which is:
- MLAG friendly (each container is configured to use the system-mac address of the "real" switch it is emulating)
- Running a (cEOS/lab conformed) copy of the startup-config of the switch it is emulating
- Running the same cEOS version as the switch that it is emulating (if you have a matching Docker template installed on your GNS3 server)
- Happy to run as an EVPN/VXLAN fabric, if that's your bag. (There's some per-VRF/network-namespace ipfilters tweaking that may still need to be cleared up.)
- Has "links" provisioned in the vlab, mirroring the inter-switch links of the "live" switches you're modeling (detected when inspecting th LLDP tables of the switches)
-
Returns a URL
-
...at which you can access the virtual-lab you just created.
Contemplated Use-cases
Change modeling, obviously. Invasive troubleshooting of pesky routing issues that you wouldn't want to spend six hours setting up a vlab for, but that would be well-worth the effort if it only took two minutes to set up. (The 14-switch topology shown in the images above took just under 60 seconds instantiate.)
Under the hood
- All of the heavy lifting is done by the dcnodatg package
Compatibility
NetBox Version | Plugin Version |
---|---|
4.1 | 0.1.x |
Installing
For adding to a NetBox Docker setup see the general instructions for using netbox-docker with plugins.
Install using pip:
pip install netbox_ptov
or by adding to your local_requirements.txt
or plugin_requirements.txt
(netbox-docker):
netbox_ptov
Enable the plugin in /opt/netbox/netbox/netbox/configuration.py
,
or if you use netbox-docker, your /configuration/plugins.py
file :
PLUGINS = [
'netbox_ptov'
]
PLUGINS_CONFIG = {
"netbox_ptov": {},
}
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
File details
Details for the file netbox_ptov-0.1.32.tar.gz
.
File metadata
- Download URL: netbox_ptov-0.1.32.tar.gz
- Upload date:
- Size: 2.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c7a3f7c003a2a30a9cc2eb25336911dff1d3993c820d1f4468142c292a1063f |
|
MD5 | f9332bbf61e512976494a9ed8469773b |
|
BLAKE2b-256 | d1eb04a63c03e11e0c722adb314a5ded559c2b2c89e7d9d51aa7091ba6e93c23 |
File details
Details for the file netbox_ptov-0.1.32-py3-none-any.whl
.
File metadata
- Download URL: netbox_ptov-0.1.32-py3-none-any.whl
- Upload date:
- Size: 1.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d1bd2d52d3c6e7b51c51875fad7f436e90de89fed4b910f5605ddca5202ef06 |
|
MD5 | 775efc12681ef1abdb5917fa10273650 |
|
BLAKE2b-256 | 58e447d80d902d58b209374fd459f6ec508d9fc0eaffa3a853ea6737eaed3c78 |