nautobot-app-bgp-models
nautobot-app-bgp-models copied to clipboard
Extend the functionality of Peer Group Templates
While the current BGP Models app is functional, I find that it can get redundant as it currently requires all Peerings/EndPoints to be defined against a RoutingInstance. This means that even when I have a network of a 100 route reflector clients that all implement the same peer group configuration, which would include address families and peers(route reflector servers), I currently have to define that router by router. My fork/PR was a quick attempt at creating PeerGroupTemplateEndpoint and PeerGroupTemplateAddressFamily models. With these models I believe that I can define more of the peer group configuration at the PeerGroupTemplate level and associate those PGTs to a RoutingInstance. I chose to create a PeerGroupTemplateEndpoint as with the way that the PGT template works, I can only reference the remote side of the peer, thus I can't create a PeerGroupTemplatePeering model that has both an A and Z endpoint. This doesn't both me with how I expect to interact with the data.
I think the UI and model interaction is functional, i.e. free from glaring horrible errors, but I certainly didn't write test code yet or anything like that. My work is mostly a copy/paste/modify of existing models that were close to what I wanted; primarily I stole from two PeerGroup* models. I'm sure I have some gaps in code, potentially related to "extra attributes"; in fact I just found a bug there where the page doesn't load.
Warning: code written by network engineer, who also codes, and not a software developer.