[OPNFLWPLUG-501] flows not removed from the switch when 80k flows configured Created: 15/Jun/15  Updated: 27/Sep/21  Resolved: 15/Mar/16

Status: Resolved
Project: OpenFlowPlugin
Component/s: General
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Peter Gubka Assignee: Jozef Bacigal
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Linux
Platform: PC


Attachments: Text File karaf.log     Text File karaf.log     Text File stdout.log    
Issue Links:
Blocks
blocks OPNFLWPLUG-537 Logging improvement Resolved
External issue ID: 3735
Priority: High

 Description   

tested odl: Lithium RC1 June15 version

steps:
1 connect mininet, 63 switches,
2) runs the script
test/tools/odl-mdsal-clustering-tests/clustering-performance-test/flow_stats_stability_monitor.py --host 10.25.2.9 --auth --fpr 20 --config_monitor 750 --deconfig_monitor 200 --monitor_period 30 --flows 16000 --threads 5 --bulk-delete
3) once 80k flows configured, restart mininet

this is not replicable on demand, it happened once
after flows were deconfigured, 2520 were not removed from the switch

linux-gnu>./get-total-found.sh
Switch s1: 0 flows
Switch s2: 0 flows
...
Switch s19: 0 flows
Switch s20: 0 flows
Switch s21: 0 flows
Switch s22: 1260 flows
Switch s23: 0 flows
Switch s24: 0 flows
Switch s25: 0 flows
Switch s26: 0 flows
Switch s27: 0 flows
Switch s28: 0 flows
Switch s29: 0 flows
Switch s30: 1260 flows
Switch s31: 0 flows
Switch s32: 0 flows
...
Switch s61: 0 flows
Switch s62: 0 flows
Switch s63: 0 flows

Total: 2520

The switches with flows are mentioned in the log more times than usual switch

[odl@pce-guest32 distribution-karaf-0.3.0-Lithium-RC1-v201506150016]$ grep -r openflow:30 | wc -l
13
[odl@pce-guest32 distribution-karaf-0.3.0-Lithium-RC1-v201506150016]$ grep -r openflow:22 | wc -l
13
[odl@pce-guest32 distribution-karaf-0.3.0-Lithium-RC1-v201506150016]$ grep -r openflow:11 | wc -l
9

I have not foung anythong suspicious, please have a look why this happened



 Comments   
Comment by Peter Gubka [ 15/Jun/15 ]

Attachment stdout.log has been added with description: test stdout

Comment by Peter Gubka [ 15/Jun/15 ]

Attachment karaf.log has been added with description: karaf.log

Comment by Abhijit Kumbhare [ 16/Jun/15 ]

From meeting minutes of the meeting June 15:

  • https://bugs.opendaylight.org/show_bug.cgi?id=3735 OPNFLWPLUG-501 - flows not removed from the switch when 80k flows configured (abhijitkumbhare, 16:18:55)
    *michal_rehak says probably clean the device of flows when switch connects (but will need to be configurable - which will need API change) (abhijitkumbhare, 16:21:05)
  • abhijitkumbhare & LuisGomez say this is not a blocker (abhijitkumbhare, 16:22:42)
  • Clarification: abhijitkumbhare thinks this may be too late to fix (abhijitkumbhare, 16:24:38)

We will not be fixing this in Lithium release - as it was decided in the meeting this needs more thought and needs to be done in Beryllium.

Comment by Peter Gubka [ 18/Jun/15 ]

the issue was initially observed when testing Lithium RC1 from June 15 for Lithium designed plugin (odl-openflowplugin-flow-services-ui-li)

The issue was also observed today while testing distribution-karaf-0.3.0-Lithium-RC1-v201506180115.tar.gz and the old-designed plugin (odl-openflowplugin-flow-services-ui). Log in attachment.

Comment by Peter Gubka [ 18/Jun/15 ]

Attachment karaf.log has been added with description: He designed log

Comment by Hariharan Sethuraman [ 28/Jul/15 ]

Will start looking into this.

Comment by Hariharan Sethuraman [ 07/Aug/15 ]

Hi Peter,

Need more information on this bug.

1) Pasted the steps from the bug summary. Could you let me know if the script was running bulk-delete while you restarted the mininet?
2) Generally when you restart the mininet, the flows will be reprogrammed onto the switch as flows are still in configuration data-store. I wonder why other switches don’t show flows count.
3) Does it mean the bulk-delete haven’t completed (on switches under question) while you took the snapshot of get-total-found.sh output?

Michal,
I see your suggestion is to have a configurable function which will delete the flows when operational data-store don’t have flows. Hope you suggested to delete the flows from configuration data store – correct?

<Snipped from bug description>

steps:
1 connect mininet, 63 switches,
2) runs the script
test/tools/odl-mdsal-clustering-tests/clustering-performance-test/flow_stats_stability_monitor.py --host 10.25.2.9 --auth --fpr 20 --config_monitor 750 --deconfig_monitor 200 --monitor_period 30 --flows 16000 --threads 5 --bulk-delete
3) once 80k flows configured, restart mininet

this is not replicable on demand, it happened once
after flows were deconfigured, 2520 were not removed from the switch

linux-gnu>./get-total-found.sh
Switch s1: 0 flows
Switch s2: 0 flows
...
Switch s19: 0 flows
Switch s20: 0 flows
Switch s21: 0 flows
Switch s22: 1260 flows
Switch s23: 0 flows
Switch s24: 0 flows
Switch s25: 0 flows
Switch s26: 0 flows
Switch s27: 0 flows
Switch s28: 0 flows
Switch s29: 0 flows
Switch s30: 1260 flows

Thanks,
Hari

Comment by Hariharan Sethuraman [ 17/Aug/15 ]

(In reply to Hariharan Sethuraman from comment #5)
> Hi Peter,
>
> Need more information on this bug.
>
> 1) Pasted the steps from the bug summary. Could you let me know if the
> script was running bulk-delete while you restarted the mininet?
> 2) Generally when you restart the mininet, the flows will be reprogrammed
> onto the switch as flows are still in configuration data-store. I wonder why
> other switches don’t show flows count.
> 3) Does it mean the bulk-delete haven’t completed (on switches under
> question) while you took the snapshot of get-total-found.sh output?
>
> Michal,
> I see your suggestion is to have a configurable function which will delete
> the flows when operational data-store don’t have flows. Hope you suggested
> to delete the flows from configuration data store – correct?
>
> <Snipped from bug description>
>
> steps:
> 1 connect mininet, 63 switches,
> 2) runs the script
> test/tools/odl-mdsal-clustering-tests/clustering-performance-test/
> flow_stats_stability_monitor.py --host 10.25.2.9 --auth --fpr 20
> --config_monitor 750 --deconfig_monitor 200 --monitor_period 30 --flows
> 16000 --threads 5 --bulk-delete
> 3) once 80k flows configured, restart mininet
>
>
> this is not replicable on demand, it happened once
> after flows were deconfigured, 2520 were not removed from the switch
>
>
> linux-gnu>./get-total-found.sh
> Switch s1: 0 flows
> Switch s2: 0 flows
> ...
> Switch s19: 0 flows
> Switch s20: 0 flows
> Switch s21: 0 flows
> Switch s22: 1260 flows
> Switch s23: 0 flows
> Switch s24: 0 flows
> Switch s25: 0 flows
> Switch s26: 0 flows
> Switch s27: 0 flows
> Switch s28: 0 flows
> Switch s29: 0 flows
> Switch s30: 1260 flows
>
> Thanks,
> Hari

I can reproduce it consistently. Please ignore my information request. Thanks.

Comment by Hariharan Sethuraman [ 18/Aug/15 ]

From the reproduced setup logs - device got disconnected just before nodes deletion from config data store. So, after deletion the device however reconnects and wont have any effect and flows in device remain intact. This should be covered as part of flow reconciliation.

It is difficult to distinguish between the above explained scenario and manually flows programmed directly on the switch case.

Comment by Hariharan Sethuraman [ 24/Aug/15 ]

Will be auto-addressed when flow reconciliation is implemented

Comment by Abhijit Kumbhare [ 25/Sep/15 ]

Since Hari's comments indicate this will be addressed as part of reconciliation

Comment by Abhijit Kumbhare [ 25/Sep/15 ]

Lowering the priority of this. Luis & I were thinking this may not even be a bug - just keeping it to be explored when get a chance in future.

Comment by Abhijit Kumbhare [ 10/Nov/15 ]

Muthu,

Will this be fixed as part of reconciliation?

Abhijit

Generated at Wed Feb 07 20:32:39 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.