Created attachment 1852243 [details] Scale test NB database. Description of problem: In ovn-northd, the build_lrouter_lbs() and build_lrouter_lbs_reachable_ips() functions do a few things: a. build the set of LB IPs and routable IPs for every logical router datapath the load balancer is applied to. b. build the set of LB IPs that are reachable via at least one logical router port owned by a logical router datapath the load balancer is applied to. For example, with the attached NB database (from a scale test run), build_lrouter_lbs() and build_lrouter_lbs_reachable_ips() together take ~800msec on the test machine, each and every time northd runs to process a change in the NB/SB. We could extract this functionality in a separate I-P node with the following inputs: - ovn_northd_lb (depending on bug 2043119) - Datapaths (depending on bug 2043116) - NB.Load_Balancer_Group And computes set of load balancers attached to each router Datapath. This node's data could serve as input to a flow-generation node, and would be used to generate all router load balancer related logical flows.
I'm closing this because northd load balancer I-P is being taken care of in a separate issue (and will be merged soon into OVN).