netbox-ptov


Namenetbox-ptov JSON
Version 0.1.21 PyPI version JSON
download
home_pageNone
SummaryNetBox plugin for ptov. Uses dcnodatg project.
upload_time2024-10-21 21:30:40
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10.0
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # NetBox ptov Plugin

NetBox plugin for creating virtual lab topologies (of Arista switches only) that match "live-device"'s configuration and topology.


* Documentation: https://menckend.github.io/netbox_ptov
* dcnodatg project: htpps://menckend.github.io/dcnodatg/

## Features

Provides the ability to select a list of Arista switches from the Netbox "devices" table and instantiate a virtual-lab topology based on their run-state, using the dcnodatg project.  dcnodatg's p_to_v function uses the Arista eAPI to query the switches, pulling startup-config, LLDP neighbor details, and LLDP "self" details.  It then trims out AAA, logging, SNMP,  and other configuration elements not suited for (or just plain not implemented on) the Arista cEOS container images.  Following that, it instantiates a new project on an existing GNS3 server (you'll need to *have* a GNS3 server, with cEOS images pre-installed and defined in GNS3 as device templates.)  Once the project is created, it then instantiates GNS3 nodes for each of the switches it originally polled, pushing the "cEOS-isifed"-version of each switch's startup configuration the corresponding Docker container, and creating connections in the GNS3 project topology (based on what was discovered in the LLDP neighbor tables and "self" information of each switch.)


## Compatibility

| NetBox Version | Plugin Version |
|----------------|----------------|
|     4.1.x      |    >=0.1.14    |

## Installing

For adding to a NetBox Docker setup see
[the general instructions for using netbox-docker with plugins](https://github.com/netbox-community/netbox-docker/wiki/Using-Netbox-Plugins).

While this is still in development and not yet on pypi you can install with pip:

```bash
pip install git+https://github.com/menckend/netbox-ptov-plugin
```

or by adding to your `local_requirements.txt` or `plugin_requirements.txt` (netbox-docker):

```bash
git+https://github.com/menckend/netbox_ptov
```

Enable the plugin in `/opt/netbox/netbox/netbox/configuration.py`,
 or if you use netbox-docker, your `/configuration/plugins.py` file :

```python
PLUGINS = [
    'netbox_ptov'
]

PLUGINS_CONFIG = {
    "netbox_ptov": {},
}
```

## Credits

Based on the NetBox plugin tutorial:

- [demo repository](https://github.com/netbox-community/netbox-plugin-demo)
- [tutorial](https://github.com/netbox-community/netbox-plugin-tutorial)

This package was created with [Cookiecutter](https://github.com/audreyr/cookiecutter) and the [`netbox-community/cookiecutter-netbox-plugin`](https://github.com/netbox-community/cookiecutter-netbox-plugin) project template.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "netbox-ptov",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10.0",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "Mencken Davidson <mencken@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/5a/bf/34c71d4ee5ad046479b5b71c1ee8685b38defe9904825fb105d12fcf6360/netbox_ptov-0.1.21.tar.gz",
    "platform": null,
    "description": "# NetBox ptov Plugin\n\nNetBox plugin for creating virtual lab topologies (of Arista switches only) that match \"live-device\"'s configuration and topology.\n\n\n* Documentation: https://menckend.github.io/netbox_ptov\n* dcnodatg project: htpps://menckend.github.io/dcnodatg/\n\n## Features\n\nProvides the ability to select a list of Arista switches from the Netbox \"devices\" table and instantiate a virtual-lab topology based on their run-state, using the dcnodatg project.  dcnodatg's p_to_v function uses the Arista eAPI to query the switches, pulling startup-config, LLDP neighbor details, and LLDP \"self\" details.  It then trims out AAA, logging, SNMP,  and other configuration elements not suited for (or just plain not implemented on) the Arista cEOS container images.  Following that, it instantiates a new project on an existing GNS3 server (you'll need to *have* a GNS3 server, with cEOS images pre-installed and defined in GNS3 as device templates.)  Once the project is created, it then instantiates GNS3 nodes for each of the switches it originally polled, pushing the \"cEOS-isifed\"-version of each switch's startup configuration the corresponding Docker container, and creating connections in the GNS3 project topology (based on what was discovered in the LLDP neighbor tables and \"self\" information of each switch.)\n\n\n## Compatibility\n\n| NetBox Version | Plugin Version |\n|----------------|----------------|\n|     4.1.x      |    >=0.1.14    |\n\n## Installing\n\nFor adding to a NetBox Docker setup see\n[the general instructions for using netbox-docker with plugins](https://github.com/netbox-community/netbox-docker/wiki/Using-Netbox-Plugins).\n\nWhile this is still in development and not yet on pypi you can install with pip:\n\n```bash\npip install git+https://github.com/menckend/netbox-ptov-plugin\n```\n\nor by adding to your `local_requirements.txt` or `plugin_requirements.txt` (netbox-docker):\n\n```bash\ngit+https://github.com/menckend/netbox_ptov\n```\n\nEnable the plugin in `/opt/netbox/netbox/netbox/configuration.py`,\n or if you use netbox-docker, your `/configuration/plugins.py` file :\n\n```python\nPLUGINS = [\n    'netbox_ptov'\n]\n\nPLUGINS_CONFIG = {\n    \"netbox_ptov\": {},\n}\n```\n\n## Credits\n\nBased on the NetBox plugin tutorial:\n\n- [demo repository](https://github.com/netbox-community/netbox-plugin-demo)\n- [tutorial](https://github.com/netbox-community/netbox-plugin-tutorial)\n\nThis package was created with [Cookiecutter](https://github.com/audreyr/cookiecutter) and the [`netbox-community/cookiecutter-netbox-plugin`](https://github.com/netbox-community/cookiecutter-netbox-plugin) project template.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "NetBox plugin for ptov.  Uses dcnodatg project.",
    "version": "0.1.21",
    "project_urls": {
        "Documentation": "https://github.com/menckend/netbox-ptov-plugin/blob/main/README.md",
        "Source": "https://github.com/menckend/netbox-ptov-plugin",
        "Tracker": "https://github.com/menckend/netbox-ptov-plugin/issues"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a2eccd381088498373b31c5d6900b4f69b12861f6e5a96d8f975e224a816bef9",
                "md5": "68645cc07c821670d6fe67594bf256d8",
                "sha256": "37f8e36d330a05424a1287f5d14c21fe5d111d90e70155344223be3b7bbde9dc"
            },
            "downloads": -1,
            "filename": "netbox_ptov-0.1.21-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "68645cc07c821670d6fe67594bf256d8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10.0",
            "size": 17642,
            "upload_time": "2024-10-21T21:30:37",
            "upload_time_iso_8601": "2024-10-21T21:30:37.756867Z",
            "url": "https://files.pythonhosted.org/packages/a2/ec/cd381088498373b31c5d6900b4f69b12861f6e5a96d8f975e224a816bef9/netbox_ptov-0.1.21-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5abf34c71d4ee5ad046479b5b71c1ee8685b38defe9904825fb105d12fcf6360",
                "md5": "9ceea8d52dd811f14e23ac11f38a1df9",
                "sha256": "557e343b81722091afc85b19db9d7eb18933949c80cc8c75322866dc822e403b"
            },
            "downloads": -1,
            "filename": "netbox_ptov-0.1.21.tar.gz",
            "has_sig": false,
            "md5_digest": "9ceea8d52dd811f14e23ac11f38a1df9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10.0",
            "size": 16057,
            "upload_time": "2024-10-21T21:30:40",
            "upload_time_iso_8601": "2024-10-21T21:30:40.246069Z",
            "url": "https://files.pythonhosted.org/packages/5a/bf/34c71d4ee5ad046479b5b71c1ee8685b38defe9904825fb105d12fcf6360/netbox_ptov-0.1.21.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-21 21:30:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "menckend",
    "github_project": "netbox-ptov-plugin",
    "github_not_found": true,
    "lcname": "netbox-ptov"
}
        
Elapsed time: 0.60442s