Description
We have some CSIT failures reported here: https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/bgpcep-csit-1node-userfeatures-all-phosphorus/179/robot-plugin/log.html.gz
There seems to be some sort of a mismatch between pccmock and ODL w.r.t encoding of PCInitiate (or thereabout, see https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/bgpcep-csit-1node-userfeatures-all-phosphorus/179/robot-plugin/log.html.gz#s1-s2-k2-k3 ):
09:24:00.992 [epollEventLoopGroup-2-1] ERROR org.opendaylight.protocol.pcep.impl.PCEPSessionImpl - Exception captured for session PCEPSessionImpl{channel=[id: 0x0d6906c7, L:/10.30.170.250:44779 - R:10.30.170.242/10.30.170.242:4189], localOpen=Open{deadTimer=120, keepalive=30, sessionId=1, tlvs=Tlvs{augmentation=[Tlvs1{stateful=Stateful{lspUpdateCapability=true, augmentation=[Stateful1{deltaLspSyncCapability=false, includeDbVersion=false, triggeredInitialSync=false, triggeredResync=false}, Stateful1{initiation=true}]}}, Tlvs3{lspDbVersion=LspDbVersion{lspDbVersionValue=1, augmentation=[]}}]}, augmentation=[]}, remoteOpen=Open{deadTimer=120, ignore=false, keepalive=30, processingRule=false, sessionId=1, tlvs=Tlvs{augmentation=[Tlvs1{stateful=Stateful{lspUpdateCapability=true, augmentation=[Stateful1{deltaLspSyncCapability=true, includeDbVersion=true, triggeredInitialSync=true, triggeredResync=true}, Stateful1{initiation=true}]}}, Tlvs3{}]}, version=ProtocolVersion{_value=1}, augmentation=[]}}, closing session. io.netty.handler.codec.DecoderException: java.lang.ClassCastException: class org.opendaylight.protocol.pcep.spi.UnknownObject cannot be cast to class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.srp.object.Srp (org.opendaylight.protocol.pcep.spi.UnknownObject and org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.srp.object.Srp are in unnamed module of loader 'app') at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:477) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:795) at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe$1.run(AbstractEpollChannel.java:425) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469) at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:384) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: java.lang.ClassCastException: class org.opendaylight.protocol.pcep.spi.UnknownObject cannot be cast to class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.srp.object.Srp (org.opendaylight.protocol.pcep.spi.UnknownObject and org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.srp.object.Srp are in unnamed module of loader 'app') at org.opendaylight.protocol.pcep.ietf.initiated.InitiatedPCInitiateMessageParser.getValidRequest(InitiatedPCInitiateMessageParser.java:89) at org.opendaylight.protocol.pcep.ietf.initiated.InitiatedPCInitiateMessageParser.validate(InitiatedPCInitiateMessageParser.java:81) at org.opendaylight.protocol.pcep.spi.AbstractMessageParser.parseMessage(AbstractMessageParser.java:135) at org.opendaylight.protocol.pcep.spi.pojo.SimpleMessageRegistry.parseMessage(SimpleMessageRegistry.java:51) at org.opendaylight.protocol.pcep.impl.PCEPByteToMessageDecoder.parse(PCEPByteToMessageDecoder.java:82) at org.opendaylight.protocol.pcep.impl.PCEPByteToMessageDecoder.decode(PCEPByteToMessageDecoder.java:51) at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:507) at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:446) ... 22 common frames omitted