The goal of this program is to validate three core components of the Universal Cloud Network:
Physical Topology
The script will draw a diagram based the "show lldp neighbors" information which can be used by the network engineers to validate the physical topology. The user will manually add the list of switch IP addresses in the switches.txt file and run the AssessmentTool.py script. The script initiates a eAPI call to all the switches using pyeapi, collects "show lldp neighbors", builds network graph using networkx module and create network.graphml file in the same folder you keep the plotter python script. Then you can open the network.graphml file using the software called Cytoscape.
BGP
The script will validate the BGP neighbor relationship for all the configured BGP neighbors. It will show only the neighbors that not in "Established State".
MLAG
The script will verify the operational state of MLAG and the MLAG port channels.
sudo pip install pyeapi
sudo pip install networkx
We need this software to open the network diagram created by networkx module. Download Cytoscape from http://www.cytoscape.org
Just a note, it will prompt you to install Java.
Create a folder in your pc and copy AssessmentTool.py and networkAssessmentComponents.py scripts.
Create a text file called switches.txt in the same folder.
Add the IP addresses (eAPI enabled) of all the Arista switches in the network.
Run the AssessmentTool.py Python script. It will prompt you for the switch username and password of the Arista switches.
The script will create a file network.graphml and network_validation.html files in the folder where you kept the Python scripts.
Open the Cytoscape from your computer.
File --> Import --> Network --> File
Select the network.graphml file and open it.
Using your browser, open the network_validation.html file to review the report generated by the tool for both BGP and MLAG.