Configuring the network isn’t the hard part of networking. You write commands. You commit them. Sure, some of the commands are esoteric, and nuance matters, so you feel like you did a hard thing when you finally get the command or API call or playbook or however you’re jamming config into your devices correct.
The hard part is proving that the configuration you put in has created the desired state on the network. For example, you jam in a bunch of OSPF config into one or several devices. What is now the state of the network? Do you have the neighbor relationships you expect? Do you also have neighbor relationships you don’t expect? Oops…
How would you check network state to prove this one way or the other? In ye olden days of the CLI, you’d run a bunch of show commands. And I don’t mean “show running-config”. I mean you’d show the state of the OSPF processes on the box with “show ip ospf” blah blah and similar. You were harvesting network state to determine that the network reality matched your intent.
In the brave new world of automation, we don’t verify network state with show commands. I mean…we could using Python, netmiko, and parsing libraries…but that’s only if we had no other choice. With modern network models and telemetry, can we do better?
The answer is yes, but it’s not easy. In fact, our guest John Capobianco thinks automated state validation is an advanced automation technique.
Automated state validation is our topic today on Heavy Networking.
Today’s show is sponsored in part by InterOptic. Fortune 500 companies choose InterOptic optical transceivers to minimize the risk of network failures and maximize IT savings. InterOptic’s transceivers are 100% guaranteed compatible with Cisco, Juniper, Extreme, Arista and others, and available at a fraction of the cost. Work with the optics experts at InterOptic! Go to interoptic.com/packet-pushers to find out more.
Unimus is an easy to use network automation and configuration management solution. Discover how to start automating your network in under 15 minutes at unimus.net/packetpushers.
Automate Your Network: Introducing the Modern Approach to Enterprise Network Management – John Capobianco
John Capobianco on Twitter
John Capobianco on GitHub
John Capobianco on LinkedIn
A Next Generation Internet State Management Framework (PDF)
Using pyATS and Genie with Ansible – The Network Engineer
pyATS – Cisco DevNet
Cisco Test Automation – GitHub