Uploaded image for project: 'bgpcep'
  1. bgpcep
  2. BGPCEP-772

Example topology not instantiating

    XMLWordPrintable

Details

    • Bug
    • Status: Verified
    • Medium
    • Resolution: Done
    • None
    • None
    • None
    • None

    Description

      Steps to reproduce locally:
      (Tried with latest oxygen RC3)
      1) start bin/karaf
      2) install features>
      feature:install odl-restconf
      feature:install odl-bgpcep-bgp
      feature:install odl-bgpcep-bgp-config-example

      And after this I get error in the karaf console>

      Exception in thread "Thread-58" java.lang.NullPointerException
      	at org.opendaylight.bgpcep.config.loader.protocols.ProtocolsConfigFileProcessor.loadConfiguration(ProtocolsConfigFileProcessor.java:85)
      	at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl.handleConfigFile(ConfigLoaderImpl.java:82)
      	at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl.access$300(ConfigLoaderImpl.java:46)
      	at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl$ConfigLoaderImplRunnable.lambda$handleEvent$1(ConfigLoaderImpl.java:190)
      	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
      	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
      	at java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1696)
      	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
      	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
      	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
      	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
      	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
      	at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl$ConfigLoaderImplRunnable.handleEvent(ConfigLoaderImpl.java:190)
      	at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl$ConfigLoaderImplRunnable.handleChanges(ConfigLoaderImpl.java:178)
      	at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl$ConfigLoaderImplRunnable.run(ConfigLoaderImpl.java:160)
      	at java.lang.Thread.run(Thread.java:748)
      

      and in karaf.log with warning

      2018-03-22T08:15:47,570 | WARN  | Thread-58        | ConfigLoaderImpl                 | 366 - org.opendaylight.bgpcep.config-loader-impl - 0.9.0 | Failed to parse xml
      javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]
      Message: Premature end of file.
      	at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:604) ~[?:?]
      	at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.nextTag(XMLStreamReaderImpl.java:1241) ~[?:?]
      	at org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream.parse(XmlParserStream.java:166) ~[?:?]
      	at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl.parseDefaultConfigFile(ConfigLoaderImpl.java:97) ~[?:?]
      	at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl.handleConfigFile(ConfigLoaderImpl.java:76) ~[?:?]
      	at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl.access$300(ConfigLoaderImpl.java:46) ~[?:?]
      	at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl$ConfigLoaderImplRunnable.lambda$handleEvent$1(ConfigLoaderImpl.java:190) ~[?:?]
      	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) [?:?]
      	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) [?:?]
      	at java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1696) [?:?]
      	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) [?:?]
      	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) [?:?]
      	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) [?:?]
      	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) [?:?]
      	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) [?:?]
      	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) [?:?]
      	at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl$ConfigLoaderImplRunnable.handleEvent(ConfigLoaderImpl.java:190) [366:org.opendaylight.bgpcep.config-loader-impl:0.9.0]
      	at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl$ConfigLoaderImplRunnable.handleChanges(ConfigLoaderImpl.java:178) [366:org.opendaylight.bgpcep.config-loader-impl:0.9.0]
      	at org.opendaylight.bgpcep.config.loader.impl.ConfigLoaderImpl$ConfigLoaderImplRunnable.run(ConfigLoaderImpl.java:160) [366:org.opendaylight.bgpcep.config-loader-impl:0.9.0]
      	at java.lang.Thread.run(Thread.java:748) [?:?]
      2018-03-22T08:15:47,571 | INFO  | Thread-58        | ConfigLoaderImpl                 | 366 - org.opendaylight.bgpcep.config-loader-impl - 0.9.0 | Loading initial config protocols-config.xml
      2018-03-22T08:15:47,575 | INFO  | features-1-thread-1 | FeaturesServiceImpl              | 7 - org.apache.karaf.features.core - 4.1.3 | Done.
      

      followed by error>

      2018-03-22T08:18:41,366 | ERROR | opendaylight-cluster-data-akka.actor.default-dispatcher-19 | DataTreeChangeListenerProxy      | 221 - org.opendaylight.controller.sal-distributed-datastore - 1.7.0 | CONFIGURATION: Failed to find local shard topology - DataTreeChangeListener org.opendaylight.bgpcep.bgp.topology.provider.config.BgpTopologyDeployerImpl@5f55a6f4 at path /(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology/topology/topology cannot be registered: {}
      org.opendaylight.controller.cluster.datastore.exceptions.NotInitializedException: Found primary shard member-1-shard-topology-config but it's not initialized yet. Please try again later
      	at org.opendaylight.controller.cluster.datastore.shardmanager.ShardManager.createNotInitializedException(ShardManager.java:960) [221:org.opendaylight.controller.sal-distributed-datastore:1.7.0]
      	at org.opendaylight.controller.cluster.datastore.shardmanager.ShardManager.onShardNotInitializedTimeout(ShardManager.java:784) [221:org.opendaylight.controller.sal-distributed-datastore:1.7.0]
      	at org.opendaylight.controller.cluster.datastore.shardmanager.ShardManager.handleCommand(ShardManager.java:254) [221:org.opendaylight.controller.sal-distributed-datastore:1.7.0]
      	at org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor.onReceiveCommand(AbstractUntypedPersistentActor.java:44) [214:org.opendaylight.controller.sal-clustering-commons:1.7.0]
      	at akka.persistence.UntypedPersistentActor.onReceive(PersistentActor.scala:274) [86:com.typesafe.akka.persistence:2.5.4]
      	at org.opendaylight.controller.cluster.common.actor.MeteringBehavior.apply(MeteringBehavior.java:104) [214:org.opendaylight.controller.sal-clustering-commons:1.7.0]
      	at akka.actor.ActorCell$$anonfun$become$1.applyOrElse(ActorCell.scala:545) [83:com.typesafe.akka.actor:2.5.4]
      	at akka.actor.Actor.aroundReceive(Actor.scala:514) [83:com.typesafe.akka.actor:2.5.4]
      	at akka.actor.Actor.aroundReceive$(Actor.scala:512) [83:com.typesafe.akka.actor:2.5.4]
      	at akka.persistence.UntypedPersistentActor.akka$persistence$Eventsourced$$super$aroundReceive(PersistentActor.scala:272) [86:com.typesafe.akka.persistence:2.5.4]
      	at akka.persistence.Eventsourced$$anon$1.stateReceive(Eventsourced.scala:663) [86:com.typesafe.akka.persistence:2.5.4]
      	at akka.persistence.Eventsourced.aroundReceive(Eventsourced.scala:183) [86:com.typesafe.akka.persistence:2.5.4]
      	at akka.persistence.Eventsourced.aroundReceive$(Eventsourced.scala:182) [86:com.typesafe.akka.persistence:2.5.4]
      	at akka.persistence.UntypedPersistentActor.aroundReceive(PersistentActor.scala:272) [86:com.typesafe.akka.persistence:2.5.4]
      	at akka.actor.ActorCell.receiveMessage(ActorCell.scala:527) [83:com.typesafe.akka.actor:2.5.4]
      	at akka.actor.ActorCell.invoke(ActorCell.scala:496) [83:com.typesafe.akka.actor:2.5.4]
      	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257) [83:com.typesafe.akka.actor:2.5.4]
      	at akka.dispatch.Mailbox.run(Mailbox.scala:224) [83:com.typesafe.akka.actor:2.5.4]
      	at akka.dispatch.Mailbox.exec(Mailbox.scala:234) [83:com.typesafe.akka.actor:2.5.4]
      	at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [83:com.typesafe.akka.actor:2.5.4]
      	at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [83:com.typesafe.akka.actor:2.5.4]
      	at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [83:com.typesafe.akka.actor:2.5.4]
      	at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [83:com.typesafe.akka.actor:2.5.4]
      

      These errors are not observed on jenkins tests, however behaviour is similar resulting in script

      ./get_ipv4_topology.sh
      

      resulting in error> relevant data model does not exist.

      It does not happen very often. In dozens of local tests this is observed only few times across several days, and it is not reproducable straight forward.

      ADD1: attachement full karaf.log added.

      Attachments

        # Subject Branch Project Status CR V

        Activity

          People

            cdgasparini Claudio David Gasparini
            tomas.markovic Tomas Markovic
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: