Ask is moving to Stack Overflow and Serverfault.com! Please use the "opendaylight" tag on either of these sites. This site is now in Read-Only mode

0

Openflow plugin error - Failed to prepare transaction member-1-datastore-operational-fe-28-chn-29-txn-0-0 on backend

asked 2017-08-29 14:26:15 -0700

loganathan.allimuthu gravatar image

Hi, I am using ODL(carbon 0.6.0) as controller and ofdpa3.0 as ofagent(on real hardware-tomahawk). I the below openflow plugin exceptions/errors. Can you help me to understand why am i seeing these errors and how to resolve them

2017-08-29 11:36:11,932 | ERROR | ult-dispatcher-3 | LocalThreePhaseCommitCohort | 207 - org.opendaylight.controller.sal-distributed-datastore - 1.5.0.Carbon | Failed to prepare transaction member-1-datastore-operational-fe-28-chn-29-txn-0-0 on backend java.lang.IllegalArgumentException: Metadata not available for modification NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)table[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=211}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:flow:table:statistics?revision=2013-12-15)flow-table-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:flow:table:statistics?revision=2013-12-15)flow-table-statistics]}, modificationType=TOUCH, childModification={(urn:opendaylight:flow:table:statistics?revision=2013-12-15)flow-table-statistics=NodeModification [identifier=(urn:opendaylight:flow:table:statistics?revision=2013-12-15)flow-table-statistics, modificationType=WRITE, childModification={}]}]}] . . 2017-08-29 11:36:11,944 | ERROR | entLoopGroup-9-1 | TransactionChainManager | 305 - org.opendaylight.openflowplugin.impl - 0.4.0.Carbon | Exception during INITIAL transaction submitting. java.util.concurrent.ExecutionException: TransactionCommitFailedException{message=canCommit encountered an unexpected failure, errorList=[RpcError [message=canCommit encountered an unexpected failure, severity=ERROR, errorType=APPLICATION, tag=operation-failed, applicationTag=null, info=null, cause=java.lang.IllegalArgumentException: Metadata not available for modification NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)table[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=211}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:flow:table:statistics?revision=2013-12-15)flow-table-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:flow:table:statistics?revision=2013-12-15)flow-table-statistics]}, modificationType=TOUCH, childModification={(urn:opendaylight:flow:table:statistics?revision=2013-12-15)flow-table-statistics=NodeModification [identifier=(urn:opendaylight:flow:table:statistics?revision=2013-12-15)flow-table-statistics, modificationType=WRITE, childModification={}]}]}]]]} . . Caused by: TransactionCommitFailedException{message=canCommit encountered an unexpected failure, errorList=[RpcError [message=canCommit encountered an unexpected failure, severity=ERROR, errorType=APPLICATION, tag=operation-failed, applicationTag=null, info=null, cause=java.lang.IllegalArgumentException: Metadata not available for modification NodeModification [identifier=(urn:opendaylight:flow:inventory?revision=2013-08-19)table[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=211}], modificationType=TOUCH, childModification={AugmentationIdentifier{childNames=[(urn:opendaylight:flow:table:statistics?revision=2013-12-15)flow-table-statistics]}=NodeModification [identifier=AugmentationIdentifier{childNames=[(urn:opendaylight:flow:table:statistics?revision=2013-12-15)flow-table-statistics]}, modificationType=TOUCH, childModification={(urn:opendaylight:flow:table:statistics?revision=2013-12-15)flow-table-statistics=NodeModification [identifier=(urn:opendaylight:flow:table:statistics?revision=2013-12-15)flow-table-statistics, modificationType=WRITE, childModification={}]}]}]]]} . . 2017-08-29 11:36:11,960 | WARN | entLoopGroup-9-1 | ContextChainHolderImpl | 305 - org.opendaylight.openflowplugin.impl - 0.4.0.Carbon | Not able to set MASTER role on device openflow:55930, reason: Initial transaction cannot be submitted. 2017-08-29 11:36:11,960 | WARN | entLoopGroup-9-1 | ContextChainHolderImpl | 305 - org.opendaylight.openflowplugin.impl - 0.4.0.Carbon | This mastering is mandatory, destroying context chain and closing connection. 2017-08-29 11:36:11,961 | DEBUG | entLoopGroup-9-1 | StatisticsContextImpl | 305 - org.opendaylight.openflowplugin.impl - 0.4.0.Carbon | Stop the running statistics gathering for node openflow:55930

edit retag flag offensive close merge delete

Comments

can you provide more information: 1) is this observed in cluster environment or standalone 2) what are the features installed 3) what is the use case when you are observing this issue 4) Have you connected any switch

sunilkumarms ( 2017-08-29 22:36:49 -0700 )edit

2 answers

Sort by » oldest newest most voted
0

answered 2017-08-30 08:26:57 -0700

loganathan.allimuthu gravatar image

1) it is observed in standalone environment. 2)Since i couldn''t attach the feature list text document, i dumped it below. 3)Bringing up a node with two interfaces. the controller and node exchange connection, handshake packets sucessfully. But the controller resets the connection while exchanging feature request and reply. to be more specific, it resets the conenction after receiving OFPMPPORTDESC from the node. Please find partial packet dump next to features installed dump. 4)yes, Broadcom-Tomahawk

Features installed:

odl-mdsal-models odl-aaa-shiro odl-akka-scala-2.11 odl-akka-system-2.4 odl-akka-clustering-2.4 odl-akka-leveldb-0.7 odl-akka-persistence-2.4 odl-netty odl-netty-4 odl-guava-18 odl-lmax-3 odl-triemap-0.2 odl-restconf-all odl-restconf odl-restconf-noauth odl-mdsal-apidocs odl-openflowplugin-nxm-extensions odl-yangtools-yang-data odl-yangtools-common odl-yangtools-yang-parser odl-aaa-api odl-aaa-authn odl-aaa-encryption-service odl-aaa-cert odl-openflowplugin-southbound-he odl-openflowplugin-flow-services-he odl-openflowplugin-nsf-services-he odl-openflowplugin-nsf-model-he odl-openflowplugin-flow-services-rest-he odl-openflowplugin-flow-services-ui-he odl-openflowplugin-app-config-pusher-he odl-openflowplugin-app-lldp-speaker-he odl-mdsal-dom odl-mdsal-common odl-mdsal-dom-api odl-mdsal-dom-broker odl-mdsal-binding-base odl-mdsal-binding-runtime odl-mdsal-binding-api odl-mdsal-binding-dom-adapter odl-mdsal-eos-common odl-mdsal-eos-dom odl-mdsal-eos-binding odl-mdsal-singleton-common odl-mdsal-singleton-dom standard config region package http war kar ssh management odl-openflowplugin-nxm-extensions odl-openflowplugin-flow-services-ui odl-openflowplugin-flow-services-rest odl-openflowplugin-flow-services odl-openflowplugin-southbound odl-openflowplugin-nsf-model odl-openflowplugin-app-config-pusher odl-openflowplugin-app-topology odl-openflowplugin-app-forwardingrules-manager odl-openflowplugin-app-forwardingrules-sync odl-l2switch-switch odl-l2switch-hosttracker odl-l2switch-addresstracker odl-l2switch-arphandler odl-l2switch-loopremover odl-l2switch-packethandler odl-dluxapps-applications odl-dluxapps-nodes odl-dluxapps-topology odl-dluxapps-yangui odl-dluxapps-yangman odl-dluxapps-yangvisualizer odl-dluxapps-yangutils pax-jetty pax-http pax-http-whiteboard pax-war odl-config-persister odl-config-startup odl-dlux-core odl-config-netty odl-config-api odl-config-netty-config-api odl-config-core odl-config-manager odl-openflowjava-protocol odl-mdsal-common odl-mdsal-broker-local odl-mdsal-clustering-commons odl-mdsal-distributed-datastore odl-mdsal-remoterpc-connector odl-mdsal-broker

Packet dump:

 89 850    31.534052002   10.10.10.103          10.10.10.69           OpenFlow Type: OFPT_MULTIPART_REPLY, OFPMP_PORT_DESC

Frame 89: 850 bytes on wire (6800 bits), 850 bytes captured (6800 bits) on interface 0 Ethernet II, Src: JabilCir00:18:71 (14:63:08:00:18:71), Dst: Vmware84:df:3d (00:0c:29:84:df:3d) Internet Protocol Version 4, Src: 10.10.10.69, Dst: 10.10.10.103 Transmission Control Protocol, Src Port: 38596, Dst Port: 6633, Seq: 8977, Ack: 297, Len: 784 OpenFlow 1.3

 90 66     31.534130298   10.10.10.69           10.10.10.103          TCP      6633 → 38596 [ACK] Seq=297 Ack=9761 Win=54912 Len=0 TSval=671982287 TSecr=2145

Frame 90: 66 bytes on wire (528 bits), 66 bytes captured (528 bits) on interface 0 Ethernet II, Src: Vmware84:df:3d (00:0c:29:84:df:3d), Dst: JabilCir00:18:71 (14:63:08:00:18:71) Internet Protocol Version 4, Src: 10.10.10.103, Dst: 10.10.10.69 Transmission Control Protocol, Src Port: 6633, Dst Port: 38596, Seq: 297, Ack: 9761, Len: 0

 91 66     31.629609892   10.10.10.69           10.10.10.103          TCP      6633 → 38596 [FIN, ACK] Seq=297 Ack=9761 Win=54912 Len=0 TSval=671982383 TSecr=2145

Frame 91: 66 bytes on wire (528 bits), 66 bytes captured (528 bits) on interface 0 Ethernet II, Src: Vmware84:df:3d (00:0c:29:84:df:3d), Dst: JabilCir00:18:71 (14:63:08:00:18:71) Internet Protocol Version 4, Src: 10.10.10.103, Dst: 10.10.10.69 Transmission Control Protocol, Src Port: 6633, Dst Port: 38596, Seq: 297, Ack: 9761, Len: 0

 92 66     31.629949456   10.10.10.103          10.10.10.69           TCP      38596 → 6633 [FIN, ACK] Seq=9761 Ack=298 Win=29312 Len=0 TSval=2169 TSecr=671982383

Frame ... (more)

edit flag offensive delete publish link more

Comments

I am unable to see the whole dump because the (more) is not showing any more.. have you captured karaf logs. you can use pastebin to share the logs.

sunilkumarms ( 2017-09-06 06:07:30 -0700 )edit
0

answered 2017-09-17 20:46:18 -0700

I have a similar issue. Here is the paste of the log: https://pastebin.com/embed_js/smZr7sx0

  1. From the pkt capture and the log, we can see the last packet from OVS to ODL is the OFPMP_QUEUE replay message.
  2. If there is no queue/port configured on the open flow switch, then there is no issue.
  3. See some log as below, not sure it is related to the issue:

2017-09-18 19:17:08,748 | DEBUG | entLoopGroup-9-4 | StatisticsGatheringUtils | 305 - org.opendaylight.openflowplugin.impl - 0.4.1.Carbon | Stats reply added to transaction for node Uri [_value=openflow:224539479560005] of type OFPMPQUEUE

2017-09-18 19:17:08,748 | TRACE | entLoopGroup-9-4 | TransactionChainManager | 305 - org.opendaylight.openflowplugin.impl - 0.4.1.Carbon | transaction not committed - submit block issued

2017-09-18 19:17:08,748 | DEBUG | entLoopGroup-9-4 | ItemScheduler | 305 - org.opendaylight.openflowplugin.impl - 0.4.1.Carbon | Removing openflow:224539479560005 from scheduled items and queue for scheduler org.opendaylight.openflowplugin.impl.util.ItemScheduler@76a3c7cd

edit flag offensive delete publish link more

Comments

This certainly is not related to certain type of message like OFPMP_QUEUE or OFPMP_TABLE or group, This happens when your transaction chain submit is not enabled, Is this seen frequently? There is a logic to enable trans chain submit only after trans chain is initiated,

sunilkumarms ( 2017-10-03 03:31:55 -0700 )edit
Login/Signup to Answer

Question Tools

Follow
1 follower

Stats

Asked: 2017-08-29 14:26:15 -0700

Seen: 90 times

Last updated: Sep 17