On Mon, Dec 18, 2023 at 9:08 AM Dumitru Ceara <dce...@redhat.com> wrote: > > On 11/28/23 03:38, num...@ovn.org wrote: > > From: Numan Siddique <num...@ovn.org> > > > > Any changes to northd engine node due to load balancers > > are now handled in 'sync_to_sb_lb' node to sync the changed > > load balancers to SB load balancers. > > > > The logic to sync the SB load balancers is changed a bit and it > > now mimics the SB lflow sync. > > > > Below are the scale testing results done with all the patches applied > > in this series using ovn-heater. The test ran the scenario - > > ocp-500-density-heavy.yml [1]. > > > > The resuts are: > > > > ------------------------------------------------------------------------------------------------------------------------------------------------------- > > Min (s) Median (s) 90%ile (s) > > 99%ile (s) Max (s) Mean (s) Total (s) Count > > Failed > > ------------------------------------------------------------------------------------------------------------------------------------------------------- > > Iteration Total 0.136883 1.129016 1.192001 > > 1.204167 1.212728 0.665017 83.127099 125 0 > > Namespace.add_ports 0.005216 0.005736 0.007034 > > 0.015486 0.018978 0.006211 0.776373 125 0 > > WorkerNode.bind_port 0.035030 0.046082 0.052469 > > 0.058293 0.060311 0.045973 11.493259 250 0 > > WorkerNode.ping_port 0.005057 0.006727 1.047692 > > 1.069253 1.071336 0.266896 66.724094 250 0 > > ------------------------------------------------------------------------------------------------------------------------------------------------------- > > > > The results with the present main [2] are: > > > > ------------------------------------------------------------------------------------------------------------------------------------------------------- > > Min (s) Median (s) 90%ile (s) > > 99%ile (s) Max (s) Mean (s) Total (s) Count > > Failed > > ------------------------------------------------------------------------------------------------------------------------------------------------------- > > Iteration Total 0.135491 2.223805 3.311270 > > 3.339078 3.345346 1.729172 216.146495 125 0 > > Namespace.add_ports 0.005380 0.005744 0.006819 > > 0.018773 0.020800 0.006292 0.786532 125 0 > > WorkerNode.bind_port 0.034179 0.046055 0.053488 > > 0.058801 0.071043 0.046117 11.529311 250 0 > > WorkerNode.ping_port 0.004956 0.006952 3.086952 > > 3.191743 3.192807 0.791544 197.886026 250 0 > > ------------------------------------------------------------------------------------------------------------------------------------------------------- > > > > [1] - > > https://github.com/ovn-org/ovn-heater/blob/main/test-scenarios/ocp-500-density-heavy.yml > > [2] - 2a12cda890a7("controller, northd: Wait for cleanup before replying to > > exit") > > > > Signed-off-by: Numan Siddique <num...@ovn.org> > > --- > > northd/en-sync-sb.c | 445 +++++++++++++++++++++++++++++++++++++-- > > northd/inc-proc-northd.c | 1 + > > northd/lflow-mgr.c | 196 ++++++----------- > > northd/lflow-mgr.h | 23 +- > > northd/northd.c | 238 --------------------- > > northd/northd.h | 6 - > > tests/ovn-northd.at | 103 +++++---- > > 7 files changed, 585 insertions(+), 427 deletions(-) > > > > Hi Numan, > > The only reason why we need to not ignore SB.LB updates is because we > need to check for duplicates that under normal circumstances do not > exist. They can appear due to "spurious" [0] inserts because the LB > table doesn't have an index defined. > > Would it be less of an effort to just have a periodic task (we do > similar work for mac binding aging) and in that task (I-P node run > function) check for SB load balancer duplicates, remove them and trigger > a full recompute? > > Wouldn't that be less error prone than all the I-P code?
Hi Dumitru, Thanks for the reviews. Do you mean that by adding this periodic task, we can drop this patch ? This patch doesn't do any changes to the existing code which handles the duplicates. It adds I-P to the Load balancer changes to the sb lb sync in the sync_to_sb_lb_northd_handler() function. northd node in its tracked data provides the information about deleted and added/updated load balancers and sync_to_sb_lb_northd_handler() calls sync_changed_lbs() to sync the changed LBs in the SB DB. Before this patch any change to the NB load balancers/lb groups resulted in the sync_to_sb_lb full recompute and this was expensive. Hence added the I-P. Since this patch doesn't change anything related to the duplicates, I think we could still add a periodic task for that (which would be independent to this patch). Thanks Numan > > Thanks, > Dumitru > > [0] https://github.com/ovn-org/ovn/commit/9deb000536e0 > > _______________________________________________ > dev mailing list > d...@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev