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?

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

Reply via email to