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
Hashes for netbox_ptov-0.1.30-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9e3739e98424b9148d480e4c6799ac85cb80b1df6d1cbb974de19a5b226d3e5 |
|
MD5 | 619feb42ae30e5c4227a202352bef72b |
|
BLAKE2b-256 | 4a2a857fdfa0e6e56273f39b2e581a60b41c1ba49e1804a975f4af6fb4581884 |