[OPNFLWPLUG-1006] ODL Nitrogen (SR1): Cannot control switch with pre-existing meters Created: 23/Apr/18  Updated: 10/Jul/18  Resolved: 10/Jul/18

Status: Resolved
Project: OpenFlowPlugin
Component/s: openflowplugin
Affects Version/s: None
Fix Version/s: Oxygen-SR3, Fluorine

Type: Bug Priority: High
Reporter: Azahar Machwe Assignee: Somashekhar Javalagi
Resolution: Done Votes: 0
Labels: openflow
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

PicaOS: 2.9.2.5/30f7332

EdgeCore Switch: AS4610-54P


Attachments: File karaf.log    

 Description   

If I start up NetOS with a nitrogen-based ODL, ODL can not take control of a switch which has pre-existing meters.

The karaf log (attached) shows:

Not able to set MASTER role on device openflow:2465100910524604673, reason: Initial transaction cannot be submitted.
This mastering is mandatory, destroying context chain and closing connection for device openflow:2465100910524604673.

We see other exceptions in the Karaf Log (see below).

If I delete the meters before restarting NetOS, ODL can take control of the switch.

If I leave the meters present and start NetOS with a boron-based ODL, that ODL can take control of the switch.

 

Steps to Reproduce:
1) Make sure there are no meters on the Switch
2) Take latest nitrogen and run up controller (ODL Nitrogen SR1)
3) Point switch back to controller
4) Wait for connected status on switch
6) Create meter on switch using OpenDaylight (or by CLI directly on the switch)

Check ODL logs for exception below:

2018-04-17 15:15:19,134 | WARN | ntLoopGroup-16-6 | StatisticsGatheringUtils | 432 - org.opendaylight.openflowplugin.impl - 0.5.1 | Stats processing of type OFPMPMETERCONFIG for node openflow:2465100910524604673 failed during write-to-tx step
2018-04-17 15:15:22,224 | WARN | ntLoopGroup-16-6 | StatisticsGatheringUtils | 432 - org.opendaylight.openflowplugin.impl - 0.5.1 | Stats processing of type OFPMPMETERCONFIG for node openflow:2465100910524604673 failed during write-to-tx step
java.lang.IllegalArgumentException: All keys must be specified for class org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.MeterBandHeaderKey. Missing key is getBandId. Supplied key is MeterBandHeaderKey []



 Comments   
Comment by Anil Vishnoi [ 23/Apr/18 ]

This seems like a bug in writing meter statistics. Are you willing to push a patch for the bug ?

Comment by Azahar Machwe [ 24/Apr/18 ]

We do not have a solution for this. But we do have a workaround that involves disabling meter stats collection. We are happy to upload that as part of the ticket if it helps getting to the root cause.

Comment by Anil Vishnoi [ 07/May/18 ]

amachwe Can you please upload the karaf.log?

Comment by Azahar Machwe [ 08/May/18 ]

Please find attached to the ticket.

Comment by Somashekhar Javalagi [ 21/May/18 ]

amachwe can you please provide the meter body, will be helpful in reproduce the issue.

Comment by Azahar Machwe [ 22/May/18 ]
// Meter Request
http://localhost:8181/restconf/operations/sal-meter:add-meter
{
"input": {
"node": "/opendaylight-inventory:nodes/opendaylight-inventory:node[opendaylight-inventory:id=\"openflow:2465100910524604673\"]",
"flags": "meter-kbps",
"meter-id": "12",
"meter-name": "test",
"meter-band-headers": {
"meter-band-header": [
{
"band-id": "0",
"meter-band-types": {
"flags": "ofpmbt-drop"
},
"drop-rate": "100000",
"drop-burst-size": "0"
}
]
}
}
}

Please find above.

Comment by Somashekhar Javalagi [ 11/Jun/18 ]

I am able to reproduce the issue with ovs 2.8. 

Comment by Azahar Machwe [ 11/Jun/18 ]

Thank you for the update.

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