JNPRAutomate / ptolemy

The network cartographer
Apache License 2.0
26 stars 8 forks source link

Ptolemy - The Network Cartographer

This repository is under active development. If you take a clone, you are getting the latest, and perhaps not entirely stable code.

Table of Contents

  1. About
  2. Demo
    1. Demo Video for Web UI in Action
    2. [Demo Video for Python Script in Action]()
  3. Installation
    1. Prerequisites
    2. Setting up Ptolemy
  4. Usage
    1. Web UI
    2. Python Script
  5. Known Issues
  6. Copyrights and License
  7. Contributors
  8. Thanks and Credits

About

Ptolemy is a Python Library and Web Tool for LLDP network visualization tool. This tool represents the LLDP networks in terms of bidirectional network graph diagrams showing various connections and interfaces between the devices and giving a high level overview of the network. Mapping an entire network topology into a diagram is a tedious task and might take hours and various licensed tools to be done manually. Editing these diagrams once the network topology changes gets even more tedious and time consuming foe very complex networks. We have tried to automate this process and provide customers with an open source and easy to use tool to map a topology within minutes and few simple steps.

This library has two types of flavors:

  1. An Easy to Use Web Tool
  2. Open and Extensible Python Script

Demo

  1. Demo Video for Web UI in Action
    • Demo Video for Web UI in Action
  2. Demo Video for Python Script in Action
    • Demo Video for Python Script in Action

Installation

Prerequisites

1) Make sure you have Python installed on your machine (Preferred version is 2.7.x).
Python 3 and above is not supported.
2) Install PyEz
3) Install Graphviz (Preferred version is graphviz-2.36 since graphviz-2.38 and 2.39 has few bugs) and Pygraphviz for graph diagrams.

Setting up Ptolemy

git clone https://github.com/JNPRAutomate/ptolemy.git

Usage


NOTE

  1. Devices which the script attempts to connect must have NETCONF and LLDP enabled on the specified port or the default port
    1. Checking if NETCONF is enabled and configuring it if it's not enabled on a device
  2. Web UI works best with Google Chrome Browser.

Web UI

Getting Started with Ptolemy using the Web UI

Python Script

Getting Started with Ptolemy using the Python Scipt

Known Issues

Copyrights and License

Copyright 2015 Juniper Networks, Inc. under the Apache License

Contributors

Thanks and Credits

Developing this tool wouldn't have been possible without Python, Junos PyEz, Graphviz, PyGraphviz,AngularJS, JQuery, Angular-Xeditable and jQuery.panzoom.