Date
1 - 1 of 1
OF13 testing : Need help with a few IllegalArgumentException
Madhu Venugopal
Folks,
am using the latest Integration branch to build a Virtualization edition image : madhu@Madhus-MacBook-Pro opendaylight (master) $ git log -1 commit 358bf0d75aa2e9dc99f5cfec90b6399ce11cad2d Merge: 96b8df4 153fa0d Author: Luis Gomez <luis.gomez@...> Date: Thu Jan 23 04:50:03 2014 +0000 Merge "Fix patch error because of whitespace in run.sh." Including both Openflow1.3 and OVSDB plugins in the runtime execution : "./run.sh -of13 -virt ovsdb". The only additional change is on the config.ini by including 2 OVSDB specific environment variables : > of.listenPort=6653 > OF1.3_Provider=true Am testing the devstack integration of OVSDB with MD-SAL & OF1.3 plugin and have a handful of flows to be programmed. We are trying OVS 2.0.0 with OpenFlow13 enabled on the bridges. (no CPqD). Almost for all the flows, I see these exceptions : 2014-01-22 23:06:42.404 PST [pool-22-thread-3] ERROR o.o.c.m.s.c.i.s.TwoPhaseCommit - Transaction: DOM-2851 Request Commit failed java.lang.IllegalArgumentException: Supplied composite node is not configurational. at com.google.common.base.Preconditions.checkArgument(Preconditions.java:92) ~[bundlefile:na] at org.opendaylight.yangtools.yang.util.YangDataOperations.checkConfigurational(YangDataOperations.java:51) ~[na:na] at org.opendaylight.yangtools.yang.util.YangDataOperations.merge(YangDataOperations.java:30) ~[na:na] at org.opendaylight.yangtools.yang.util.YangDataOperations._mergeMultiple(YangDataOperations.java:79) ~[na:na] at org.opendaylight.yangtools.yang.util.YangDataOperations.mergeMultiple(YangDataOperations.java:209) ~[na:na] at org.opendaylight.yangtools.yang.util.YangDataOperations.mergeContainer(YangDataOperations.java:183) ~[na:na] at org.opendaylight.yangtools.yang.util.YangDataOperations.merge(YangDataOperations.java:42) ~[na:na] at org.opendaylight.controller.sal.dom.broker.impl.SchemaAwareDataStoreAdapter.mergeData(SchemaAwareDataStoreAdapter.java:159) ~[na:na] at org.opendaylight.controller.sal.dom.broker.impl.SchemaAwareDataStoreAdapter$NormalizedDataModification.mergeConfigurationData(SchemaAwareDataStoreAdapter.java:318) ~[na:na] at org.opendaylight.controller.sal.dom.broker.impl.SchemaAwareDataStoreAdapter$NormalizedDataModification.mergeConfigurationData(SchemaAwareDataStoreAdapter.java:289) ~[na:na] at org.opendaylight.controller.md.sal.common.impl.AbstractDataModification.putConfigurationData(AbstractDataModification.java:70) ~[bundlefile:na] at org.opendaylight.controller.sal.dom.broker.impl.SchemaAwareDataStoreAdapter.prepareMergedTransaction(SchemaAwareDataStoreAdapter.java:176) ~[na:na] at org.opendaylight.controller.sal.dom.broker.impl.SchemaAwareDataStoreAdapter.requestCommit(SchemaAwareDataStoreAdapter.java:115) ~[na:na] at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:76) [bundlefile:na] at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:31) [bundlefile:na] at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_40] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_40] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_40] at java.lang.Thread.run(Thread.java:724) [na:1.7.0_40] java.lang.IllegalArgumentException: injector for given version and target [InjectionKey [version=1, targetClazz=org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.OxmFieldsActionBuilder]] not found at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.common.ConvertReactor.convert(ConvertReactor.java:57) ~[na:na] at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ActionConvertor.SalToOFSetField(ActionConvertor.java:253) ~[na:na] at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ActionConvertor.getActionList(ActionConvertor.java:205) ~[na:na] at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.FlowConvertor.toInstructions(FlowConvertor.java:227) ~[na:na] at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.FlowConvertor.toFlowModInput(FlowConvertor.java:167) ~[na:na] at org.opendaylight.openflowplugin.openflow.md.core.sal.ModelDrivenSwitchImpl.addFlow(ModelDrivenSwitchImpl.java:237) ~[na:na] at org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService$$Broker$Router.addFlow(SalFlowService$$Broker$Router.java) ~[na:na] at org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService$$Broker$DirectProxy.addFlow(SalFlowService$$Broker$DirectProxy.java) ~[na:na] at org.opendaylight.controller.frm.flow.FlowTransaction.add(FlowTransaction.java:114) ~[na:na] at org.opendaylight.controller.frm.AbstractTransaction.callRpcs(AbstractTransaction.java:56) ~[na:na] at org.opendaylight.controller.frm.AbstractTransaction.finish(AbstractTransaction.java:28) ~[na:na] at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:94) [bundlefile:na] at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:31) [bundlefile:na] at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_40] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_40] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_40] at java.lang.Thread.run(Thread.java:724) [na:1.7.0_40] And ofcourse, the flows are not properly programmed because of these exceptions. Do you guys have any insight onto what might lead to these exceptions ? (The 2nd exception above seem to be specific to the OxmField - we are using the Set-Tunnel-Id). Please refer to OF13ProviderManager class in the ovsdb project if you are interested in the flows that we are trying to program and search for methods that begins with "write". Also am seeing a lot more exceptions : java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Session for the cookie is invalid. at java.util.concurrent.FutureTask.report(FutureTask.java:122) [na:1.7.0_40] at java.util.concurrent.FutureTask.get(FutureTask.java:188) [na:1.7.0_40] at org.opendaylight.ovsdb.neutron.provider.OF13ProviderManager.writeFlow(OF13ProviderManager.java:1057) [bundlefile:na] at org.opendaylight.ovsdb.neutron.provider.OF13ProviderManager.writeLocalTableMiss(OF13ProviderManager.java:1031) [bundlefile:na] at org.opendaylight.ovsdb.neutron.provider.OF13ProviderManager.programLocalBridgeRules(OF13ProviderManager.java:298) [bundlefile:na] at org.opendaylight.ovsdb.neutron.provider.OF13ProviderManager.programLocalRules(OF13ProviderManager.java:373) [bundlefile:na] at org.opendaylight.ovsdb.neutron.provider.OF13ProviderManager.handleInterfaceUpdate(OF13ProviderManager.java:451) [bundlefile:na] at org.opendaylight.ovsdb.neutron.SouthboundHandler.handleInterfaceUpdate(SouthboundHandler.java:217) [bundlefile:na] at org.opendaylight.ovsdb.neutron.SouthboundHandler.processRowUpdate(SouthboundHandler.java:201) [bundlefile:na] at org.opendaylight.ovsdb.neutron.SouthboundHandler.access$100(SouthboundHandler.java:36) [bundlefile:na] at org.opendaylight.ovsdb.neutron.SouthboundHandler$1.run(SouthboundHandler.java:69) [bundlefile:na] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_40] at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_40] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_40] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_40] at java.lang.Thread.run(Thread.java:724) [na:1.7.0_40] Caused by: java.lang.IllegalArgumentException: Session for the cookie is invalid. at org.opendaylight.openflowplugin.openflow.md.core.session.MessageDispatchServiceImpl.getConnectionAdapter(MessageDispatchServiceImpl.java:97) ~[na:na] at org.opendaylight.openflowplugin.openflow.md.core.session.MessageDispatchServiceImpl.flowMod(MessageDispatchServiceImpl.java:128) ~[na:na] at org.opendaylight.openflowplugin.openflow.md.core.sal.ModelDrivenSwitchImpl.updateFlow(ModelDrivenSwitchImpl.java:604) ~[na:na] at org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService$$Broker$Router.updateFlow(SalFlowService$$Broker$Router.java) ~[na:na] at org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService$$Broker$DirectProxy.updateFlow(SalFlowService$$Broker$DirectProxy.java) ~[na:na] at org.opendaylight.controller.frm.flow.FlowTransaction.update(FlowTransaction.java:92) ~[na:na] at org.opendaylight.controller.frm.AbstractTransaction.rollbackRpcs(AbstractTransaction.java:105) ~[na:na] at org.opendaylight.controller.frm.AbstractTransaction.rollback(AbstractTransaction.java:38) ~[na:na] at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.rollback(TwoPhaseCommit.java:147) ~[na:na] at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:104) ~[na:na] at org.opendaylight.controller.md.sal.common.impl.service.TwoPhaseCommit.call(TwoPhaseCommit.java:31) ~[na:na] Also saw the following exception once during a controller reboot and MDSAL was frozen. Another reboot solved the problem :
Thanks, Madhu |
|