NetBox plugin for ptov. Uses ptovnetlab 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.
- 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 ptovnetlab package
Compatibility
| NetBox Version | Plugin Version |
|---|---|
| 4.1 | 0.2.x |
| 4.2 | 0.2.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": {'top_level_menu': False},
}
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_ptov-0.2.0.5.tar.gz.
File metadata
- Download URL: netbox_ptov-0.2.0.5.tar.gz
- Upload date:
- Size: 5.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b47032f869a29cf8cb370966df70b32fa836bcd0ebb1283a396e6338006e4dbb
|
|
| MD5 |
061b18b4b2d36677b2f944b1ecd63d75
|
|
| BLAKE2b-256 |
5ba068d5940513b6d6bfb7e5b5d84ea527be6c4440b5cf47121db246e20dbd86
|
Provenance
The following attestation bundles were made for netbox_ptov-0.2.0.5.tar.gz:
Publisher:
publish-pypi.yaml on menckend/netbox_ptov
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_ptov-0.2.0.5.tar.gz -
Subject digest:
b47032f869a29cf8cb370966df70b32fa836bcd0ebb1283a396e6338006e4dbb - Sigstore transparency entry: 163539308
- Sigstore integration time:
-
Permalink:
menckend/netbox_ptov@c29ff49c2799ef87b024109ba7f1735d073d4a72 -
Branch / Tag:
refs/tags/v0.2.0.5 - Owner: https://github.com/menckend
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yaml@c29ff49c2799ef87b024109ba7f1735d073d4a72 -
Trigger Event:
push
-
Statement type:
File details
Details for the file netbox_ptov-0.2.0.5-py3-none-any.whl.
File metadata
- Download URL: netbox_ptov-0.2.0.5-py3-none-any.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2cc22a581f5bfbb6cd6714de905b41398284f75043eeeb7299c893fea7136f3
|
|
| MD5 |
ecb29d22a5c6ecdb1ca3359c0156dfa6
|
|
| BLAKE2b-256 |
af35f1c35899dbabce3f617a86c07bb60d827da562a31616d2294c4c69b22348
|
Provenance
The following attestation bundles were made for netbox_ptov-0.2.0.5-py3-none-any.whl:
Publisher:
publish-pypi.yaml on menckend/netbox_ptov
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_ptov-0.2.0.5-py3-none-any.whl -
Subject digest:
b2cc22a581f5bfbb6cd6714de905b41398284f75043eeeb7299c893fea7136f3 - Sigstore transparency entry: 163539309
- Sigstore integration time:
-
Permalink:
menckend/netbox_ptov@c29ff49c2799ef87b024109ba7f1735d073d4a72 -
Branch / Tag:
refs/tags/v0.2.0.5 - Owner: https://github.com/menckend
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yaml@c29ff49c2799ef87b024109ba7f1735d073d4a72 -
Trigger Event:
push
-
Statement type: