In the latest installment of Packet Pushers’ Design & Build series, we re going to look at an entry-level network automation infrastructure using Python and netmiko.
Automation can make your life easier. To understand what I mean by easier, allow me to describe two of the things that make the life of a network engineer hard: configuration deployment and data gathering.
First, if I want to make a significant configuration change, the default way is by logging into a device, typing a bunch of commands, validating my results, saving a config, and then moving on to the next device–over and over again, until the job is done.
Second, when I need to know certain information, say all non-zero error counts on a group of Ethernet switch interfaces, I have to parse a bunch of CLI output to get that information. And that CLI output just isn t optimized for that kind of data gathering.
Enter network automation. Using programmatic tools, it s possible to write scripts that perform simple tasks quickly or gather information and present in an easily consumed format.
Joining me today to discuss his own personal exploration of Python and netmiko is Jeremy Filliben, a network engineer for a Fortune 500 insurance company and owner of a networking training company. You can connect with Jeremy at his blog, and on Twitter and LinkedIn.
Links:
Show 176: Intro To Python & Automation For Network Engineers
Show 198: Kirk Byers On Network Automation With Python & Ansible
Netmiko on Github
Netmiko on Windows install guide (Jay Swan)
Jeremy Filliben s page on Github
Anaconda — Python environment for Windows
Nose testing introduction
Github training (not free)
Github safety story (what not to do)