On 12/20/23 19:03, Numan Siddique wrote: > 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). >
You're right Numan, I mixed things up. The periodic task would only allow us to avoid the need for sync_to_sb_lb_sb_load_balancer() which checks for duplicates. I'll have another pass at reviewing this patch, sorry for the noise, please disregard my initial review. Regards, Dumitru _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev