Skip to main content

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

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 image
  • 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 image

  • ...at which you can access the virtual-lab you just created. image

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},
}

Metadata

Release files for netbox-ptov 0.2.0.5

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-ptov 0.2.0.5
File Size Uploaded
netbox_ptov-0.2.0.5.tar.gz 5.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for netbox-ptov 0.2.0.5
File Interpreter ABI Platform
netbox_ptov-0.2.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 7.0 MB

Release files / netbox_ptov-0.2.0.5.tar.gz

Download URL netbox_ptov-0.2.0.5.tar.gz
Size 5.9 MB
Tags Source
SHA-256 checksum
How to use checksums
b47032f869a29cf8cb370966df70b32fa836bcd0ebb1283a396e6338006e4dbb
BLAKE2b-256 checksum
How to use checksums
5ba068d5940513b6d6bfb7e5b5d84ea527be6c4440b5cf47121db246e20dbd86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 19, 2025.

Transparency log

Release files / netbox_ptov-0.2.0.5-py3-none-any.whl

Download URL netbox_ptov-0.2.0.5-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
b2cc22a581f5bfbb6cd6714de905b41398284f75043eeeb7299c893fea7136f3
BLAKE2b-256 checksum
How to use checksums
af35f1c35899dbabce3f617a86c07bb60d827da562a31616d2294c4c69b22348
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 19, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0.5 This release

2 release files

0.2.0

2 release files

0.1.32

2 release files

0.1.31

2 release files

0.1.30

2 release files

0.1.29

2 release files

0.1.28

2 release files

0.1.27

2 release files

0.1.26

2 release files

0.1.21

2 release files

0.1.20

2 release files

0.1.19

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

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

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