Automation
1 / Automated Network Documention
As we started offering a new co-managed offering for enterprise customers, I was tasked with figuring out how to add extra value to the offering for both the clients and us.
​
Using Ansible, Python, Linux Bash scripts, and IT Glue APIs, I built a solution that would not only backup an entire enterprise's network configurations for switches, routers, WLCs, and email security appliances, but would also perform daily backup file comparisons to see if anything changed with the configurations, and then send email alerts with the changes. This allowed us and the customer to easily see changes that happened anywhere on their network.
​
I also wrote custom python scripts that would parse the Ansible facts files for each network device and then create and update documentation in the IT Glue documentation system using the REST APIs provided by IT Glue. This way new devices, VLAN changes, IP changes, and so forth would automatically be updated in IT Glue for all our engineers and the clients to reference.
​
A lot of this functionality was in response to a product called Lionguard that MSPs use for similar functionality. The problem is that Lionguard does not work with most enterprise grade equipment, such as Cisco IOS-XE based routers and switches.
2 / Cisco Core to Aruba Core Switches
We had a client that wanted to migrate from their older 3 core Cisco 6509s to two 4 new Aruba core switches. At the time I was not that familiar with Aruba switches, but I had worked with HPE in the past. From performing discovery and talking with the client, one of the key items that came out was they had a lot of un-used VLANs, static and dynamic routing, and other items they wanted to clean up.
​
My approach to this project was that I needed a common way to designate the configuration that did not have Cisco nor Aruba specific configuration. This way the client could understand, review, cleanup and remove old items, and then provide the updated document back to me. I devised a spreadsheet that took all the core Cisco configurations in a format the client could understand. I then built python scripts that would parse the spreadsheet data and automatically build out the Aruba configs for each of their 4 core switches including SPT, VSX, and VRRP configurations. This way the client and I could easily go back in forth as they made changes, and then I could generate the new configurations and apply them to the lab Aruba switches I built for testing.
3 / Onboarding/Deployment
Besides the scripting work for the projects above, I have also developed scripts to help with the deployment and management of all our customers Meraki environments. Some scripts were for managing administrator access across all organizations, while another script was used for deploying new customers networks in a consistent manner. This way they all were getting the correct monitoring and alerting settings, along with all the best practice security and network settings. These scripts were developed using Python and the Meraki Python SDK.
​
I have also developed an onboarding script for onboarding new customers into a hosted Cisco VoIP platform. This script took what would normally take 4-6 hours of manual configuration and turned it into about 2 minutes of work. It used python with and utilities the CUCM SOAP API along with CUC REST API.