[OPNFLWPLUG-1031] java.lang.IllegalArgumentException: Metadata not available for modification NodeModification Created: 23/Aug/18  Updated: 18/Mar/19  Resolved: 18/Mar/19

Status: Resolved
Project: OpenFlowPlugin
Component/s: None
Affects Version/s: None
Fix Version/s: Fluorine-SR2, Neon

Type: Bug Priority: High
Reporter: Onur Alp Assignee: Anil Vishnoi
Resolution: Cannot Reproduce Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Using kubuntu 18.04 and a Mikrotik router (model is hAP ac)



 Description   

By using git, I downloaded and compiled stable/oxygen branches of the controller (1.7.3.snapshot) and the openflow plugin (0.6.3.snapshot). Then installed the features

odl-openflowplugin-libraries odl-openflowplugin-southbound odl-openflowplugin-app-reconciliation-framework odl-openflowplugin-flow-services odl-openflowplugin-nsf-model odl-openflowplugin-app-topology odl-openflowplugin-app-config-pusher odl-openflowplugin-app-forwardingrules-manager odl-openflowjava-protocol

I connected a Mikrotik router (model is hAP ac) that supports openflow version 1.0 only. I forced the opendaylight to use openflow 1.0.
After the handshake, ODL is giving the following error and terminating the connection:

Failed to prepare transaction member-1-datastore-operational-fe-0-chn-3-txn-0-0 on backend
java.lang.IllegalArgumentException: Metadata not available for modification NodeModification

 

I uploaded an example packet trace with two trials to https://www.cloudshark.org/captures/ce369e404d8d

The transaction in the karaf.log file is at https://pastebin.com/tC6CqE2x

 



 Comments   
Comment by Onur Alp [ 30/Aug/18 ]

It seems like the problem affects MikroTik brand routers causing them to be unmanageable by ODL.

I tried ONOS controller with the same router and ONOS worked without problems.

Comment by Luis Gomez [ 24/Oct/18 ]

From the capture, it looks like the router does not respond to the port stats request message (packet 25) from controller.

Comment by Onur Alp [ 24/Oct/18 ]

In that trial, there were no openflow ports assigned in the switch, so probably that was the reason for no reply. Also the error message is complaining about tables, not ports.  Now I assigned two ports to openflow and captured the traffic. It is available at https://www.cloudshark.org/captures/ce8f44e2de0d . You can see that the router is responding to the port stats message now. However opendaylight crashed again with the same error message.

Comment by Onur Alp [ 24/Oct/18 ]

BTW, I saw that a similar error message was also reported last year but it was not solved.

https://ask.opendaylight.org/question/27367/openflow-plugin-error-failed-to-prepare-transaction-member-1-datastore-operational-fe-28-chn-29-txn-0-0-on-backend/

Comment by Luis Gomez [ 25/Oct/18 ]

can you grant permission to see the capture?

Comment by Onur Alp [ 25/Oct/18 ]

Yes, it is open access now.

Comment by Anil Vishnoi [ 05/Nov/18 ]

ecelgp Did you get the chance to look at the wireshark capture provided above?

Comment by Luis Gomez [ 05/Nov/18 ]

The trace is not fully dissected but it seems the switch reponds empty when asked for port stats. See packet 13 and 26.

Comment by Luis Gomez [ 18/Mar/19 ]

We have not heard from this, I think we can close it.

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