There is day-1 software defect where bgp_router_refs may get deleted by the web UI unintentionally from a controller's configuration. This results in controller node losing its BGP peers.
This article describes how the issue is triggered, the workaround, and the software fix.
The unintentional bgp_router_refs deletion is consistently reproducible in version 3.0/3.2 Contrail clusters when the following steps are taken:
Go to Configure > Infrastructure > BGP Routers from the web UI and pick up a controller. In this example, cont102 is selected from the HA cluster. It shows BGP peering with other controllers and MX routers.
Edit that controller’s configuration without touching any parameters, then click Save .
After step 2, bgp_router_refs is removed from cont102’s configuration. Therefore, it stops peering with all routers in the cluster.
This issue is fixed in Contrail releases 3.2.15.0 and 4.1.4.0.
You can either upgrade to a fixed version or use the following workaround to re-establish the BGP peering between controllers.
The workaround is to modify any parameter of cont102’s configuration and save it again. For example, change the hold timer below and save the configuration. Then the lost BGP configuration should come back.