Uploaded image for project: 'netconf'
  1. netconf
  2. NETCONF-538

Filtered <get-config> fails with ClassCastException

XMLWordPrintable

      Following RPC fails:

      <rpc message-id="101"
                xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
      <get-config>
      <source>
      <running/>
      </source>
      <filter xmlns:ns0="urn:ietf:params:xml:ns:netconf:base:1.0" ns0:type="subtree">
      <application-rib xmlns="urn:opendaylight:params:xml:ns:yang:bgp-rib">
      <id>10.25.1.9</id>
      <tables>
      <afi xmlns:x="urn:opendaylight:params:xml:ns:yang:bgp-types">x:ipv4-address-family</afi>
      <safi xmlns:x="urn:opendaylight:params:xml:ns:yang:bgp-types">x:unicast-subsequent-address-family</safi>
      <ipv4-routes xmlns="urn:opendaylight:params:xml:ns:yang:bgp-inet">
      <ipv4-route>
      <path-id>0</path-id>
      <prefix>10.0.0.12/32</prefix>
      </ipv4-route>
      </ipv4-routes>
      </tables>
      </application-rib>
      </filter>
      </get-config>
      </rpc>]]>]]>
      

      with:

      java.lang.ClassCastException: org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableMapNodeBuilder$ImmutableMapNode cannot be cast to org.opendaylight.yangtools.yang.data.api.schema.ContainerNode
          at org.opendaylight.netconf.mdsal.connector.ops.get.AbstractGet.transformNormalizedNode(AbstractGet.java:74) [413:org.opendaylight.netconf.mdsal-netconf-connector:1.4.0]
          at org.opendaylight.netconf.mdsal.connector.ops.get.AbstractGet.serializeNodeWithParentStructure(AbstractGet.java:111) [413:org.opendaylight.netconf.mdsal-netconf-connector:1.4.0]
          at org.opendaylight.netconf.mdsal.connector.ops.get.GetConfig.handleWithNoSubsequentOperations(GetConfig.java:80) [413:org.opendaylight.netconf.mdsal-netconf-connector:1.4.0]
          at org.opendaylight.netconf.util.mapping.AbstractSingletonNetconfOperation.handle(AbstractSingletonNetconfOperation.java:26) [309:org.opendaylight.netconf.util:1.4.0]
          at org.opendaylight.netconf.util.mapping.AbstractNetconfOperation.handle(AbstractNetconfOperation.java:104) [309:org.opendaylight.netconf.util:1.4.0]
          at org.opendaylight.netconf.impl.osgi.NetconfOperationRouterImpl$NetconfOperationExecution.execute(NetconfOperationRouterImpl.java:173) [409:mdsal-netconf-impl:1.4.0]
          at org.opendaylight.netconf.impl.osgi.NetconfOperationRouterImpl.executeOperationWithHighestPriority(NetconfOperationRouterImpl.java:114) [409:mdsal-netconf-impl:1.4.0]
          at org.opendaylight.netconf.impl.osgi.NetconfOperationRouterImpl.onNetconfMessage(NetconfOperationRouterImpl.java:86) [409:mdsal-netconf-impl:1.4.0]
          at org.opendaylight.netconf.impl.NetconfServerSessionListener.processDocument(NetconfServerSessionListener.java:124) [409:mdsal-netconf-impl:1.4.0]
          at org.opendaylight.netconf.impl.NetconfServerSessionListener.onMessage(NetconfServerSessionListener.java:89) [409:mdsal-netconf-impl:1.4.0]
          at org.opendaylight.netconf.impl.NetconfServerSessionListener.onMessage(NetconfServerSessionListener.java:32) [409:mdsal-netconf-impl:1.4.0]
          at org.opendaylight.netconf.nettyutil.AbstractNetconfSession.handleMessage(AbstractNetconfSession.java:65) [297:org.opendaylight.netconf.netty-util:1.4.0]
          at org.opendaylight.netconf.nettyutil.AbstractNetconfSession.handleMessage(AbstractNetconfSession.java:35) [297:org.opendaylight.netconf.netty-util:1.4.0]
          at org.opendaylight.protocol.framework.AbstractProtocolSession.channelRead0(AbstractProtocolSession.java:53) [300:org.opendaylight.netconf.protocol-framework:1.1.0]
          at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [104:io.netty.transport:4.1.16.Final]
          at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [104:io.netty.transport:4.1.16.Final]
          at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [104:io.netty.transport:4.1.16.Final]
          at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [104:io.netty.transport:4.1.16.Final]
          at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) [99:io.netty.codec:4.1.16.Final]
          at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284) [99:io.netty.codec:4.1.16.Final]
          at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [104:io.netty.transport:4.1.16.Final]
          at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [104:io.netty.transport:4.1.16.Final]
          at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [104:io.netty.transport:4.1.16.Final]
          at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) [99:io.netty.codec:4.1.16.Final]
          at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:297) [99:io.netty.codec:4.1.16.Final]
          at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:413) [99:io.netty.codec:4.1.16.Final]
          at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) [99:io.netty.codec:4.1.16.Final]
          at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [104:io.netty.transport:4.1.16.Final]
          at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [104:io.netty.transport:4.1.16.Final]
          at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [104:io.netty.transport:4.1.16.Final]
          at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1359) [104:io.netty.transport:4.1.16.Final]
          at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [104:io.netty.transport:4.1.16.Final]
          at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRea56d(AbstractChannelHandlerContext.java:348) [104:io.netty.transport:4.1.16.Final]
          at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:935) [104:io.netty.transport:4.1.16.Final]
          at io.netty.channel.local.LocalChannel.finishPeerRead0(LocalChannel.java:456) [104:io.netty.transport:4.1.16.Final]
          at io.netty.channel.local.LocalChannel.access$400(LocalChannel.java:50) [104:io.netty.transport:4.1.16.Final]
          at io.netty.channel.local.LocalChannel$5.run(LocalChannel.java:410) [104:io.netty.transport:4.1.16.Final]
          at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) [101:io.netty.common:4.1.16.Final]
          at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403) [101:io.netty.common:4.1.16.Final]
          at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:463) [104:io.netty.transport:4.1.16.Final]
          at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) [101:io.netty.common:4.1.16.Final]
          at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138) [101:io.netty.common:4.1.16.Final]
          at java.lang.Thread.run(Thread.java:748) [?:?]
      
      

      Steps to reproduce:

      1. Install following features: odl-restconf-all odl-netconf-connector-all odl-netconf-topology odl-netconf-mdsal odl-bgpcep-bgp
      2. Configure BGP protocol and server (see attached postman collection).
      3. Add application peer
      4. Add route
      5. Invoke <get-config> defined above.

       

       

       

            mario.abraham Mario Abraham
            mgradzki Marek Gradzki
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: