Closed matofeder closed 2 months ago
Based on the testing and investigation, it appears that NetBox and NetBox-BGP plugin are not currently suitable for templating BGP configurations for cloud underlay networks.
Several key limitations prevent it from fully supporting this use case:
NetBox has an ASN core object, but it cannot be assigned to devices. This makes it challenging to implement scenarios where ASNs need to be assigned to individual devices. For example, in VXLAN/EVPN deployments, multiple spines often share the same ASN, while each leaf switch requires its own unique ASN. Currently, NetBox does not support this level of ASN management. See https://github.com/netbox-community/netbox/issues/8782
Lack of Unnumbered BGP Support: Although there is a BGP plugin available for NetBox, it does not support unnumbered BGP. See https://github.com/netbox-community/netbox-bgp/issues/45
An alternative solution could involve defining custom fields for NetBox devices. However, this approach is highly specific to individual use cases and, in my opinion, does not offer a sufficiently general or robust solution.
Investigate and implement options for templating the BGP configuration of SONiC devices using the FRR routing suite within NetBox.
The goal is to leverage NetBox's templating capabilities to generate device BGP configurations dynamically based on predefined templates and the actual state of the devices stored in NetBox.
Background
NetBox provides a powerful mechanism for generating device configurations based on templates. This functionality can be utilized to automate the creation of BGP (FRR) configurations for SONiC switches, ensuring consistency and reducing manual effort. The investigation will focus on identifying the best practices for template creation and integration with NetBox.
The initial work has been done for SONiC config_db.json configuration, see https://github.com/SovereignCloudStack/hardware-landscape/pull/32
Definition of Ready:
Definition of Done: