0

I am following the ODL user guide to implement NETCONF notifications with the TestTool provided by ODL. But I am only getting to subscribe to the notifications but not to revive them. The following links show which processes I am following:

I have done different tests and I am currently blocked and I don't know how to get the notification. Analyzing the ODL logs I have detected an error but I can't figure out how to fix it.

WARN [globalWorkerGroup-3-1] An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
java.lang.IllegalArgumentException: Unable to parse notification <notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
                
    <eventTime>2023-05-08T13:19:44+02:00</eventTime>
                
    <random-notification xmlns="http://www.opendaylight.org/netconf/event:1.0">
                        
        <random-content>single with delay</random-content>
                    
    </random-notification>
            
</notification>
, cannot find top level module
    at org.opendaylight.netconf.sal.connect.netconf.schema.mapping.NetconfMessageTransformer.findNestedNotification(NetconfMessageTransformer.java:223) ~[bundleFile:?]
    at org.opendaylight.netconf.sal.connect.netconf.schema.mapping.NetconfMessageTransformer.toNotification(NetconfMessageTransformer.java:194) ~[bundleFile:?]
    at org.opendaylight.netconf.sal.connect.netconf.NotificationHandler.transformNotification(NotificationHandler.java:71) ~[bundleFile:?]
    at org.opendaylight.netconf.sal.connect.netconf.NotificationHandler.handleNotification(NotificationHandler.java:48) ~[bundleFile:?]
    at org.opendaylight.netconf.sal.connect.netconf.NetconfDevice.onNotification(NetconfDevice.java:326) ~[bundleFile:?]
    at org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCommunicator.processNotification(NetconfDeviceCommunicator.java:406) ~[bundleFile:?]
    at org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCommunicator.onMessage(NetconfDeviceCommunicator.java:268) ~[bundleFile:?]
    at org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCommunicator.onMessage(NetconfDeviceCommunicator.java:51) ~[bundleFile:?]
    at org.opendaylight.netconf.nettyutil.AbstractNetconfSession.handleMessage(AbstractNetconfSession.java:65) ~[bundleFile:?]
    at org.opendaylight.netconf.nettyutil.AbstractNetconfSession.channelRead0(AbstractNetconfSession.java:186) ~[bundleFile:?]
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) ~[bundleFile:4.1.89.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[bundleFile:4.1.89.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[bundleFile:4.1.89.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[bundleFile:4.1.89.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[bundleFile:4.1.89.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[bundleFile:4.1.89.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[bundleFile:4.1.89.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[bundleFile:4.1.89.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[bundleFile:4.1.89.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[bundleFile:4.1.89.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[bundleFile:4.1.89.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[bundleFile:4.1.89.Final]
    at io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:61) ~[bundleFile:4.1.89.Final]
    at io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:425) ~[bundleFile:4.1.89.Final]
    at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[bundleFile:4.1.89.Final]
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[bundleFile:4.1.89.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[bundleFile:4.1.89.Final]
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[bundleFile:4.1.89.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[bundleFile:4.1.89.Final]
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[bundleFile:4.1.89.Final]
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[bundleFile:4.1.89.Final]

Has anyone completed the guide or knows what the error is and how to fix it?

Regards,

Uriel
  • 11
  • Where is your relevant code? And is this a programming-related question? – Hovercraft Full Of Eels May 08 '23 at 11:48
  • I have not programmed anything, I am using POSTMAN to understand how I can use the OpenDaylight REST APIs. – Uriel May 08 '23 at 13:17
  • I've never used ODL, but I do know NETCONF. To me, this error message means that your client doesn't have the YANG module defining the `http://www.opendaylight.org/netconf/event:1.0` namespace in its module set. It knows that a notification has been received, but it has no schema to handle the `random-notification` element. – predi May 10 '23 at 06:29
  • Yes, that is the problem. Unfortunately I can't find the related YANG file and I'm just getting experience with NETCONF and YANG so I don't know how to define it. But now I know where the problem is and I can focus on that. – Uriel May 11 '23 at 07:46

0 Answers0