Generating OSPF, BGP and MPLS/VPN Configurations from Network Data Model
Over a month ago I decided to create a lab network to figure out how to solve an interesting Inter-AS MPLS/VPN routing challenge. Instead of configuring half a dozen routers I decided to develop a fully-automated deployment because it will make my life easier.
I finally got to a point where OSPF, LDP, BGP (IPv4 and VPNv4) and MPLS/VPN configurations are created, deployed and verified automatically. No, I still haven’t solved the original problem, but it was more fun developing the Ansible playbooks anyway.
Next step (instead of figuring out the solution to the original problem): multi-vendor support. If anyone wants to contribute Junos configurations please send me a pull request (or an email).
Eventually I’ll write the documentation (and a lengthy series of blog posts explaining how the whole thing works), for the moment I keep pretending the source code is self-documenting.
Want to build a similar solution on your own? You’ll learn how to do that in my Network Automation online course.
Why are we so desperate in automating everything? I believe automation for certain area's work perfect, but not for networking, since we just have too many vendors, too many devices, too many CLI's. People want something like Norton Ghost, but thats something i believe is not comparable.
The issue, of course, is that most NOSes aren't built to be automated (some are obviously better than others). But the situation is improving, and the tools with which we automate network devices are as well.
So again, while automation is far from perfect *right now*, we should absolutely be striving for automation of as many aspects of the network as we can. In my opinion if you're not working on it right now, you're already behind and increasingly so as you continue to do things the same old way.
I think that the link for Ansible playbook is broken.
Best regards
Disregarding that - yes, the link was broken because I moved the code to a separate repository. Fixed - thank you.