Skip to main content

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

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

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_ptov-0.2.0.5.tar.gz (5.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

netbox_ptov-0.2.0.5-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

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

Hashes for netbox_ptov-0.2.0.5.tar.gz
Algorithm Hash digest
SHA256 b47032f869a29cf8cb370966df70b32fa836bcd0ebb1283a396e6338006e4dbb
MD5 061b18b4b2d36677b2f944b1ecd63d75
BLAKE2b-256 5ba068d5940513b6d6bfb7e5b5d84ea527be6c4440b5cf47121db246e20dbd86

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_ptov-0.2.0.5.tar.gz:

Publisher: publish-pypi.yaml on menckend/netbox_ptov

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for netbox_ptov-0.2.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b2cc22a581f5bfbb6cd6714de905b41398284f75043eeeb7299c893fea7136f3
MD5 ecb29d22a5c6ecdb1ca3359c0156dfa6
BLAKE2b-256 af35f1c35899dbabce3f617a86c07bb60d827da562a31616d2294c4c69b22348

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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