[NETVIRT-1664] exceptions seen during L3VPN disassociation and again association. Created: 23/Jan/20  Updated: 17/Jul/20  Resolved: 17/Jul/20

Status: Resolved
Project: netvirt
Component/s: bgpmanager
Affects Version/s: Sodium
Fix Version/s: Magnesium, Aluminium

Type: Bug Priority: Medium
Reporter: Srinivas Rachakonda Assignee: Karthikeyan Krishnan
Resolution: Cannot Reproduce Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Logs:

https://jenkins.opendaylight.org/releng/job/netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-rocky-dcgw-sodium/237/

 

karaf Logs:

https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/netvirt-csit-1node-0cmb-1ctl-2cmp-openstack-rocky-dcgw-sodium/237/odl_1/odl1_karaf.log.gz

 

Karaf exceptions:

2020-01-20T10:05:29,664 | INFO | epollEventLoopGroup-9-2 | GuardedContextImpl | 421 - org.opendaylight.openflowplugin.impl - 0.9.2 | Terminating RpcContextImpl[TERMINATED] service for node openflow:268362736803140
2020-01-20T10:05:29,664 | ERROR | opendaylight-cluster-data-akka.actor.default-dispatcher-2 | DOMEntityOwnershipListenerAdapter | 329 - org.opendaylight.mdsal.eos-binding-adapter - 4.0.11 | Listener org.opendaylight.openflowplugin.impl.lifecycle.ContextChainHolderImpl@7c01ae07 failed during change notification EntityOwnershipChange [entity=Entity [type=org.opendaylight.mdsal.AsyncServiceCloseEntityType, id=KeyedInstanceIdentifier{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.core.general.entity.rev150930.Entity, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.core.general.entity.rev150930.Entity[key=EntityKey{_name=openflow:268362736803140}]]}], state=LOCAL_OWNERSHIP_LOST_NO_OWNER [wasOwner=true, isOwner=false, hasOwner=false], inJeopardy=false]
java.lang.NullPointerException: null
at org.opendaylight.openflowplugin.impl.lifecycle.ContextChainHolderImpl.ownershipChanged(ContextChainHolderImpl.java:294) ~[?:?]
at org.opendaylight.mdsal.eos.binding.dom.adapter.DOMEntityOwnershipListenerAdapter.ownershipChanged(DOMEntityOwnershipListenerAdapter.java:61) ~[329:org.opendaylight.mdsal.eos-binding-adapter:4.0.11]
at org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnershipListenerActor.onEntityOwnershipChanged(EntityOwnershipListenerActor.java:45) ~[236:org.opendaylight.controller.sal-distributed-datastore:1.10.2]
at org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnershipListenerActor.handleReceive(EntityOwnershipListenerActor.java:34) ~[236:org.opendaylight.controller.sal-distributed-datastore:1.10.2]
at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:24) [41:com.typesafe.akka.actor:2.5.26]
at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:20) [41:com.typesafe.akka.actor:2.5.26]
at scala.PartialFunction.applyOrElse(PartialFunction.scala:127) [510:org.scala-lang.scala-library:2.12.10.v20190904-150159-VFINAL-61701c2]
at scala.PartialFunction.applyOrElse$(PartialFunction.scala:126) [510:org.scala-lang.scala-library:2.12.10.v20190904-150159-VFINAL-61701c2]
at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:20) [41:com.typesafe.akka.actor:2.5.26]
at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:175) [510:org.scala-lang.scala-library:2.12.10.v20190904-150159-VFINAL-61701c2]
at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:176) [510:org.scala-lang.scala-library:2.12.10.v20190904-150159-VFINAL-61701c2]
at akka.actor.Actor.aroundReceive(Actor.scala:539) [41:com.typesafe.akka.actor:2.5.26]
at akka.actor.Actor.aroundReceive$(Actor.scala:537) [41:com.typesafe.akka.actor:2.5.26]
at akka.actor.AbstractActor.aroundReceive(AbstractActor.scala:227) [41:com.typesafe.akka.actor:2.5.26]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:612) [41:com.typesafe.akka.actor:2.5.26]
at akka.actor.ActorCell.invoke(ActorCell.scala:581) [41:com.typesafe.akka.actor:2.5.26]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:268) [41:com.typesafe.akka.actor:2.5.26]
at akka.dispatch.Mailbox.run(Mailbox.scala:229) [41:com.typesafe.akka.actor:2.5.26]
at akka.dispatch.Mailbox.exec(Mailbox.scala:241) [41:com.typesafe.akka.actor:2.5.26]
at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [41:com.typesafe.akka.actor:2.5.26]
at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [41:com.typesafe.akka.actor:2.5.26]
at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [41:com.typesafe.akka.actor:2.5.26]
at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [41:com.typesafe.akka.actor:2.5.26]
2020-01-20T10:05:29,692 | INFO | epollEventLoopGroup-9-2 | GuardedContextImpl | 421 - org.opendaylight.openflowplugin.impl - 0.9.2 | Terminating StatisticsContextImpl[TERMINATED] service for node openflow:268362736803140

 



 Comments   
Comment by Manjunath Gowda [ 23/Jan/20 ]

SrinivasRachakonda ,

As discussed, I tried to reproduce the issue on my local set-up, when I tried to add a vrf which is not related to any VPN, then I observed below error message,

 2020-01-22T12:15:23,522 | ERROR | org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev150901.bgp.networkscontainer.Networks_AsyncDataTreeChangeListenerBase-DataTreeChangeHandler-0 | BgpConfigurationManager          | networks  Delete received exception;Config store updated; undo with Add if needed. org.apache.thrift.TApplicationException: BGP RD 200:1 not configured for iidKeyedInstanceIdentifier

{targetType=interface org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev150901.bgp.networkscontainer.Networks, path=[org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev150901.Bgp, org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev150901.bgp.NetworksContainer, org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev150901.bgp.networkscontainer.Networks[key=NetworksKey [_rd=200:1, _prefixLen=9.9.9.10/32]]]}

and val Networks{getBgpControlPlaneType=PROTOCOLL3VPN, getEncapType=GRE, getEthtag=0, getLabel=10000, getNexthop=IpAddress [_ipv4Address=Ipv4Address [_value=1.1.1.1]], getPrefixLen=9.9.9.10/32, getRd=200:1, augmentations={}}

 

I am trying to relate this observation with your issue.

 

The disassociation of vpn from network and re asscociation of the same immediately causing an issue could be due to timing/data. This issue definitely requires VPN team also need to investigate. Since calling below use cases purely from neutron VPN code base , i.e,

Create L3 VPN

Associate L3 VPN

Dis associate L3 VPN 

   

Comment by Karthikeyan Krishnan [ 17/Jul/20 ]

Reported issue is not observed in latest Magnesium and Aluminium releases.

Generated at Wed Feb 07 20:24:39 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.