Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
None
-
None
-
None
-
Operating System: Linux
Platform: PC
-
7791
Description
While using folowing chain of messages
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="m-2">
<lock>
<target>
<candidate/>
</target>
</lock>
</rpc>
]]>]]>
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="m-3">
<get-config>
<source>
<running/>
</source>
<filter xmlns:ns0="urn:ietf:params:xml:ns:netconf:base:1.0" ns0:type="subtree">
<vpp xmlns="urn:opendaylight:params:xml:ns:yang:v3po">
<bridge-domains>
<bridge-domain>
<name>testBD2</name>
</bridge-domain>
</bridge-domains>
</vpp>
</filter>
</get-config>
</rpc>
]]>]]>
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="m-4">
<edit-config>
<target>
<candidate/>
</target>
<config>
<vpp xmlns="urn:opendaylight:params:xml:ns:yang:v3po">
<bridge-domains/>
</vpp>
</config>
</edit-config>
</rpc>
]]>]]>
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="m-5">
<edit-config>
<target>
<candidate/>
</target>
<default-operation>none</default-operation>
<config>
<vpp xmlns="urn:opendaylight:params:xml:ns:yang:v3po">
<bridge-domains>
<bridge-domain xmlns:a="urn:ietf:params:xml:ns:netconf:base:1.0" a:operation="replace">
<name>testBD2</name>
<forward>false</forward>
<learn>false</learn>
<unknown-unicast-flood>false</unknown-unicast-flood>
<arp-termination>false</arp-termination>
<flood>true</flood>
</bridge-domain>
</bridge-domains>
</vpp>
</config>
</edit-config>
</rpc>
]]>]]>
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="m-6">
<commit/>
</rpc>
]]>]]>
Exception is thrown
java.lang.IllegalArgumentException: Metadata not available for modification NodeModification [identifier=(urn:opendaylight:params:xml:ns:yang:v3po?revision=2016-12-14)bridge-domain, modificationType=TOUCH, childModification={(urn:opendaylight:params:xml:ns:yang:v3po?revision=2016-12-14)bridge-domain[
{(urn:opendaylight:params:xml:ns:yang:v3po?revision=2016-12-14)name=testBD2}]=NodeModification [identifier=(urn:opendaylight:params:xml:ns:yang:v3po?revision=2016-12-14)bridge-domain[
{(urn:opendaylight:params:xml:ns:yang:v3po?revision=2016-12-14)name=testBD2}], modificationType=WRITE, childModification={}]}]
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145) ~[guava-18.0.jar:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:198) ~[yang-data-impl-1.0.2-Boron-SR2.jar:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:139) ~[yang-data-impl-1.0.2-Boron-SR2.jar:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:252) ~[yang-data-impl-1.0.2-Boron-SR2.jar:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyMerge(AbstractNodeContainerModificationStrategy.java:170) ~[yang-data-impl-1.0.2-Boron-SR2.jar:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:213) ~[yang-data-impl-1.0.2-Boron-SR2.jar:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.StructuralContainerModificationStrategy.apply(StructuralContainerModificationStrategy.java:71) ~[yang-data-impl-1.0.2-Boron-SR2.jar:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:139) ~[yang-data-impl-1.0.2-Boron-SR2.jar:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyWrite(AbstractNodeContainerModificationStrategy.java:113) ~[yang-data-impl-1.0.2-Boron-SR2.jar:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:210) ~[yang-data-impl-1.0.2-Boron-SR2.jar:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.StructuralContainerModificationStrategy.apply(StructuralContainerModificationStrategy.java:71) ~[yang-data-impl-1.0.2-Boron-SR2.jar:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.mutateChildren(AbstractNodeContainerModificationStrategy.java:139) ~[yang-data-impl-1.0.2-Boron-SR2.jar:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.applyTouch(AbstractNodeContainerModificationStrategy.java:252) ~[yang-data-impl-1.0.2-Boron-SR2.jar:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.apply(SchemaAwareApplyOperation.java:200) ~[yang-data-impl-1.0.2-Boron-SR2.jar:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.RootModificationApplyOperation.apply(RootModificationApplyOperation.java:78) ~[yang-data-impl-1.0.2-Boron-SR2.jar:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractDataTreeTip.prepare(AbstractDataTreeTip.java:53) ~[yang-data-impl-1.0.2-Boron-SR2.jar:na]
at org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractDataTreeTip.prepare(AbstractDataTreeTip.java:20) ~[yang-data-impl-1.0.2-Boron-SR2.jar:na]
at io.fd.honeycomb.data.impl.PersistingDataTreeAdapter.prepare(PersistingDataTreeAdapter.java:168) ~[data-impl-1.17.01-SNAPSHOT.jar:na]
at io.fd.honeycomb.data.impl.ModifiableDataTreeManager$ConfigSnapshot.commit(ModifiableDataTreeManager.java:103) ~[data-impl-1.17.01-SNAPSHOT.jar:na]
at io.fd.honeycomb.data.impl.WriteTransaction.submit(WriteTransaction.java:136) ~[data-impl-1.17.01-SNAPSHOT.jar:na]
at io.fd.honeycomb.data.impl.ReadWriteTransaction.submit(ReadWriteTransaction.java:76) ~[data-impl-1.17.01-SNAPSHOT.jar:na]
at org.opendaylight.netconf.mdsal.connector.TransactionProvider.commitTransaction(TransactionProvider.java:80) ~[mdsal-netconf-connector-1.1.2-Boron-SR2.jar:na]
at org.opendaylight.netconf.mdsal.connector.ops.Commit.handleWithNoSubsequentOperations(Commit.java:39) ~[mdsal-netconf-connector-1.1.2-Boron-SR2.jar:na]
at org.opendaylight.netconf.util.mapping.AbstractSingletonNetconfOperation.handle(AbstractSingletonNetconfOperation.java:26) ~[netconf-util-1.1.2-Boron-SR2.jar:na]
at org.opendaylight.netconf.util.mapping.AbstractNetconfOperation.handle(AbstractNetconfOperation.java:101) ~[netconf-util-1.1.2-Boron-SR2.jar:na]
at org.opendaylight.netconf.impl.osgi.NetconfOperationRouterImpl$NetconfOperationExecution.execute(NetconfOperationRouterImpl.java:182) ~[netconf-impl-1.1.2-Boron-SR2.jar:na]
at org.opendaylight.netconf.impl.osgi.NetconfOperationRouterImpl.executeOperationWithHighestPriority(NetconfOperationRouterImpl.java:111) ~[netconf-impl-1.1.2-Boron-SR2.jar:na]
at org.opendaylight.netconf.impl.osgi.NetconfOperationRouterImpl.onNetconfMessage(NetconfOperationRouterImpl.java:84) ~[netconf-impl-1.1.2-Boron-SR2.jar:na]
at org.opendaylight.netconf.impl.NetconfServerSessionListener.processDocument(NetconfServerSessionListener.java:122) [netconf-impl-1.1.2-Boron-SR2.jar:na]
at org.opendaylight.netconf.impl.NetconfServerSessionListener.onMessage(NetconfServerSessionListener.java:87) [netconf-impl-1.1.2-Boron-SR2.jar:na]
at org.opendaylight.netconf.impl.NetconfServerSessionListener.onMessage(NetconfServerSessionListener.java:33) [netconf-impl-1.1.2-Boron-SR2.jar:na]
at org.opendaylight.netconf.nettyutil.AbstractNetconfSession.handleMessage(AbstractNetconfSession.java:64) [netconf-netty-util-1.1.2-Boron-SR2.jar:na]
at org.opendaylight.netconf.nettyutil.AbstractNetconfSession.handleMessage(AbstractNetconfSession.java:35) [netconf-netty-util-1.1.2-Boron-SR2.jar:na]
at org.opendaylight.protocol.framework.AbstractProtocolSession.channelRead0(AbstractProtocolSession.java:53) [protocol-framework-0.8.2-Boron-SR2.jar:na]
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [netty-transport-4.0.37.Final.jar:4.0.37.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) [netty-transport-4.0.37.Final.jar:4.0.37.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:328) [netty-transport-4.0.37.Final.jar:4.0.37.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:321) [netty-transport-4.0.37.Final.jar:4.0.37.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293) [netty-codec-4.0.37.Final.jar:4.0.37.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267) [netty-codec-4.0.37.Final.jar:4.0.37.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) [netty-transport-4.0.37.Final.jar:4.0.37.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:328) [netty-transport-4.0.37.Final.jar:4.0.37.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:321) [netty-transport-4.0.37.Final.jar:4.0.37.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293) [netty-codec-4.0.37.Final.jar:4.0.37.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267) [netty-codec-4.0.37.Final.jar:4.0.37.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) [netty-transport-4.0.37.Final.jar:4.0.37.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:328) [netty-transport-4.0.37.Final.jar:4.0.37.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:321) [netty-transport-4.0.37.Final.jar:4.0.37.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1280) [netty-transport-4.0.37.Final.jar:4.0.37.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) [netty-transport-4.0.37.Final.jar:4.0.37.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:328) [netty-transport-4.0.37.Final.jar:4.0.37.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:890) [netty-transport-4.0.37.Final.jar:4.0.37.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131) [netty-transport-4.0.37.Final.jar:4.0.37.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:564) [netty-transport-4.0.37.Final.jar:4.0.37.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:505) [netty-transport-4.0.37.Final.jar:4.0.37.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:419) [netty-transport-4.0.37.Final.jar:4.0.37.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:391) [netty-transport-4.0.37.Final.jar:4.0.37.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112) [netty-common-4.0.37.Final.jar:4.0.37.Final]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91]
This occurs on last(commit) message. From model perspective , the data is perfectly fine(passes trought restconf with no problem).
Bug present in BORON-SR2