[OPNFLWPLUG-624] He plugin: Meter stats not reported the first time switch connects to controller Created: 22/Feb/16  Updated: 27/Sep/21  Resolved: 08/Mar/16

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

Type: Bug
Reporter: Luis Gomez Assignee: Anil Vishnoi
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 5404

 Description   

Meters statistics are not reported the first time a switch connects to controller.

To reproduce:

1) Install controller with openflow feature (e.g. odl-openflowplugin-flow-services-ui)
2) Bring a switch with meter capabilities (e.g. CPqD- Note it will take a little while for CPqD to connect)
3) Start wireshark for the OF channel. Observe meter stats requests are not being sent to switch.
4) If we push a meter, this gets correctly installed in switch but no stats get reported because of the above.

Workaround:

Disconnect and connect the switch, now the meter stats messages are being sent.

BR/Luis



 Comments   
Comment by Anil Vishnoi [ 08/Mar/16 ]

stable/beryllium : https://git.opendaylight.org/gerrit/35904

Comment by Anil Vishnoi [ 08/Mar/16 ]

Root cause of this issue is a race condition that pops up because of the clustering introduction in openflowplugin HE design. Statistics manager sends the group/meter feature request and once it receives the response from the switch it checks if the respective node is present in operational data store or not. If node is present it writes the group/meter feature in the Oper data store and also update the stats capability with meter_stats. But if the node is not present it just ignores the write to data store. This scenario can occur, if the group/meter response comes before the inventory manager write node description to data store.

To fix this issue, this patch see sends the group/meter feature request again in regular polling cycle if switch node is not present in the operational data store.

Comment by Anil Vishnoi [ 08/Mar/16 ]

master branch :https://git.opendaylight.org/gerrit/#/c/35905/

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