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 :
java.lang.IllegalStateException: There are inconsistencies between configuration subsystem and yangstore in terms of discovered yang modules, yang modules missing from config subsystem but present in yang
store: [(urn:opendaylight:params:xml:ns:yang:controller:netty:threadgroup?revision=2013-11-07)threadgroup],
All modules present in config: [(urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf?revision=2013-10-28<
/span>)odl-sal-netconf-connector-cfg, (urn:opendaylight:params:xml:ns:yang:controller:shutdown:impl?revision=2013-12-18)shutdown-impl, (urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl:flexible?revision=2013
-12-01)threadpool-impl-flexible, (urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:cluster:store?revision=2013-10-28)odl-sal-dom-clustered-store-cfg, (urn:opendaylight:params:xml:ns:yang:controller:netty:eventexecutor?revision=2013-11-12)netty-event-executor, (urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl:fixed?revision=2013-12-01)threadpool-impl-fixed&
lt;
/span>, (urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl:scheduled?revision=2013-12-01)threadpool-impl-scheduled, (urn:opendaylight:params:xml:ns:yang:controller:md:sal:remote:rpc?revision=2013-10-28)odl-
sal-dom-rpc-remote-cfg, (urn:opendaylight:params:xml:ns:yang:controller:logback:config?revision=2013-07-16)config-logging, (urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl?revision=2013-04<
span clas
s="o">-05)threadpool-impl, (urn:opendaylight:params:xml:ns:yang:controller:netty:timer?revision=2013-11-19)netty-timer, (urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:impl?revision=2013-10-28)
opendaylight-sal-dom-broker-impl, (urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl?revision=2013-10-28)opendaylight-sal-binding-broker-impl]
at
com.google.common.base.Preconditions.checkState(Preconditions.java:176) ~[na:na]
at org.opendaylight.controller.netconf.confignetconfconnector.o
sgi
.NetconfOperationServiceImpl.checkConsistencyBetweenYangStoreAndConfig(NetconfOperationServiceImpl.java:73) ~[na:na]
at org.opendaylight.controller.netconf.confignetconfconnector.osgi.NetconfOperationServiceImpl.<init>(NetconfOperationServiceImpl.java:49) ~[na:na]
at org.opendaylight.controller.netconf.confignetconfconnector.osgi.NetconfOperationServiceFactoryImpl.createService(NetconfOperationServiceFactoryImpl.java
:62) ~[na:na]
at org.opendaylight.controller.netconf.confignetconfconnector.osgi.NetconfOperationServiceFactoryImpl.createService(NetconfOperationServiceFactoryImpl.java:21) ~[na:na
]
at org.opendaylight.controller.netconf.impl.osgi.NetconfOperationServiceSnapshot.<init>(NetconfOperationServiceSnapshot.java:30) ~[na:na]
at org.
op
endaylight.controller.netconf.impl.osgi.NetconfOperationServiceFactoryListenerImpl.getSnapshot(NetconfOperationServiceFactoryListenerImpl.java:30) ~[na:na]
at org.opendaylight.controller.netconf.impl.NetconfServerSessionNegotiatorFactory.createHelloMessage(NetconfServerSessionNegotiatorFactory.java:87) ~[na:na]
at org.opendaylight.controller.netconf.impl.NetconfServerSessionNegotiatorFactory.getSessionNegotiator&
lt;
span clas
s="o">(NetconfServerSessionNegotiatorFactory.java:64) ~[na:na]
at org.opendaylight.controller.netconf.impl.NetconfServerDispatcher$ServerChannelInitializer.initializeAfterDecoder(NetconfServerDispatcher.java:
56
) ~[na:na]
at org.opendaylight.controller.netconf.util.AbstractChannelInitializer.initialize(AbstractChannelInitializer.java:26) ~[na:na]
at org
.opendaylight.controller.netconf.impl.NetconfServerDispatcher$1.initializeChannel(NetconfServerDispatcher.java:37) ~[na:na]
at org.opendaylight.protocol.framework.
AbstractDispatcher$1.initChannel(AbstractDispatcher.java:87) ~[na:na]
at org.opendaylight.protocol.framework.AbstractDispatcher$1.initChannel(AbstractDispatcher.java:83) ~[na:na]
at io.netty.channel.ChannelInitializer.channelRegistered(ChannelInitializer.java:70) ~[bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRegistered(DefaultChannelHandlerContext.java:162) [bundlefile:na]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRegistered(DefaultChannelHandlerContext.java:148) [bundlefile:na]
at io.netty.channel.DefaultChannelPipeline.fireChannelRegistered(DefaultChannelPipeline.java:730) [bundlefile:na]
at io.netty
.<
span class="na">channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:441) [bundlefile:na]
at io.netty.channel.AbstractChannel$AbstractUnsafe.access$100(AbstractChannel.j
ava:373) [bundlefile:na]
at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:417) [bundlefile:na]
at
io.<
span clas
s="na">netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354) [bundlefile:na]
at io.netty.channel.nio.NioEventLoop.run(N
ioEventLo
op.java:348) [bundlefile:na]
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101) [bundlefile:na]
at java.lang.Thread.run(Thread.java:724) [na:1.7.0_40]
Thanks,
Madhu