Ekahau Automation, Optimising Workflow – Part 3
This is Part 3 of a how-to guide on Ekahau Automation, focusing on optimising project workflow through python scripts. This chapter specifically targets techniques to automate configuration of the infrastructure based on project file data.
For Part 1, 2, and more Ekahau / Python goodness,
visit the dedicated Ekahau Automation page
Part 3 of this series will focus on using the netmiko library to issue commands to a Cisco wireless LAN controller.
Netmiko SSH Library
Although we’re focusing on Cisco infrastructure, the method described here is applicable to any infrastructure supporting SSH. As of today, Netmiko is tested on a number of different platforms as illustrated below.
Also illustrated in the image above, is a typical method of connecting to a Cisco Wireless LAN Controller and issuing a standard show command. Although the username and password here is hard coded (bad practice!), you can use libraries like argparser and getpass to prompt on execution of the script.
In this particular example, we will be taking the channel assignment of each access point, and configuring it statically.
The first steps are to extract the project file and pull the data from the relevant JSON files. Finally build a dictionary to contain the relevant values.
Using another library called PANDAS, we will format the data into a table for visual validation before pushing the commands to the wireless infrastructure.
Finally, once the approval is received we can execute the commands on the Wireless Infrastructure, or if you prefer, print a list of commands used to execute yourself.