One big note on this - It will need some updating at least in the YAML section as my training material I currently use teaches in Python 2, which a Cisco Instructor for DevNet has confirmed that DevNet exams will focus on Python 3. So this article will need a bit of polishing up, but … Continue reading Parsing Data Formats (XML / JSON / YAML) using Python 3 – A little patch work but found some good demo’s!
There is still some kind of crappy limitation with GNS3 and getting my Loopedback VLAN to communicate with the PC devices in ACME Co LAN - However I do have reachability on the Network Devices to play with some local configs in this lab! I have just recently started to use GNS3 and am not … Continue reading Python3 Network Programming – NAPALM for Network Device Configuration, lots of troubleshooting and good to knows for Network Engineers in this content (which will be continued)!
I was just going to watch the BGP series without taking notes on NAPALM, but its been so long since I've configured it from scratch I figured I could knock the rust off, below is a quick review of the configs in my Multi-AS BGP Topology I've created for this lab. Note - This … Continue reading Python3 Network Promgramming – Quick BGP configuration and demo of using NAPALM to get BGP information from network devices!
I'm going to build out this lab a little bit more using Netmiko scripting to push configs to SW1 so we get a bit more output to review, and we will also be using JSON within the script as well to make it more readable that a big mashed up blob of output! 🙂 First … Continue reading Python3 Network Programming – Building lab with Netmiko, using JSON formatting within the Py3 scripts for readability!
Time to burn through Multi-Vendor Environments using Python with NAPALM! I've spun up a new network, as I believe I am going to wade into the waters of doing some router configuration using NAPALM scripting coming up in later posts! Napalm is short for "Network Automation and Programmability Abstraction Layer with Multivendor Support" which is … Continue reading Python3 Network Programming – Review of NAPALM (what it is), some links with additional resources, and configuring a new lab for use with NAPALM configs!
To round off the Netmiko section of Python3, I'd like to show a script that will standardize the entire network here with NTP and Buffered Logging, as those two things should be absolutely configured on a network for troubleshooting purposes. The configs shown are very minimal, and definitely not best practice for production networks, which … Continue reading Python3 Network Programming – Deploying base NTP / Logging across entire network, best practices, and the raw script at the very end of the post!
Finally the power to Automate Network Device Standardization!!! In this demo I will actually be starting small, adding SW4 and SW5 to write a script similar to the last lab, only instead of sending config line by line, it will open a file on the NetAuto Host that will contain configs to be written. This … Continue reading Python3 Network Programming – Writing a script that calls a file to use within the script (and a lot of troubleshooting the script itself)!
Being as I have been tanking through just touching network devices with Python, I wanted to take a step back, and look at the components within the script that call out each others to function properly and how to start thinking about writing scripts freestyle that suits your needs and begin thinking diving deeper into … Continue reading Python3 Network Programming – Review of a Netmiko Python Script, Python Terminology, and how different pieces reference each other in a script!
Now that I have secured SSH in my previous post on this lab, I will continue forward using Netmiko that utilizes SSH for connections, so I will get right to it here. First to prep your NetAuto Host for Netmiko (this requires Internet Connection) The NetAuto host in GNS3 does not come with Netmiko modules … Continue reading Python3 Network Programming – Installing Python3-pip / Netmiko Module, writing Netmiko script, and executing it on the multi-switch lab / working through troubleshooting!