[BGPCEP-804] Afi-safi-in policy reconfiguration Created: 27/Jun/18  Updated: 12/Jul/18  Resolved: 02/Jul/18

Status: Verified
Project: bgpcep
Component/s: BGP
Affects Version/s: Fluorine
Fix Version/s: Fluorine

Type: Bug Priority: Medium
Reporter: Tomas Markovic Assignee: Claudio David Gasparini
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File configure.py     File create_new_accept_policy.py     File create_new_reject_policy.py     File create_new_rib.py     File deconfigure.py     File delete_example_bgp_rib.py     File delete_new_policy.py     File delete_new_rib.py     File play.py     File start_play.sh    

 Description   

Overview: Creating new rib with new policy, configure peers for it. Connect peer and expect policy to work. Then I delete peers and rib and policy.
After that we create new policy and new rib, however at this point I am unable to configure peers again.

Steps to reproduce:

  • Create new policy with reject ipv4 family:
     ./create_new_reject_policy.py
    
  • Create new rib with this policy:
     ./create_new_rib.py
    
  • Configure peers on new rib:
     ./configure.py
    
  • Connect with play.py and check that no routes are getting through:
     sudo ./start_play.sh
    
  • Delete peers:
     ./deconfigure.py
    
  • Delete new rib:
     ./delete_new_rib.py
    
  • Delete new policy:
    ./delete_new_policy.py
    
  • Create accept policy for ipv4:
    ./create_new_accept_policy.py
    
  • Create new rib with accept policy:
    ./create_new_rib.py
    
  • Try and configure peer at which point this should fail:
    ./configure.py
    
  • at which point I get ERROR[0]

Overview: After deleting example-bgp-rib, I create new policy and try to make new rib with this policy.
Second scenario:

  • delete example-bgp-rib first:
     ./delete_example_bgp_rib.py
    
  • configure new policy:
     ./create_new_reject_policy.py
    
  • configure new rib:
    ./create_new_rib.py
    
  • when I get ERROR[1]

[0]:

2018-06-27T18:15:48,149 | ERROR | opendaylight-cluster-data-notification-dispatcher-52 | DataTreeChangeListenerActor      | 248 - org.opendaylight.controller.sal-clustering-commons - 1.8.0.SNAPSHOT | member-1-shard-default-config: Error notifying listener org.opendaylight.controller.cluster.databroker.compat.LegacyDOMDataBrokerAdapter$2$$Lambda$1084/585549914@772c1906
java.lang.IllegalArgumentException: Peer for IpAddress{_ipv4Address=Ipv4Address{_value=127.0.0.2}} already present
	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:210) ~[76:com.google.guava:23.6.1.jre]
	at org.opendaylight.protocol.bgp.rib.impl.StrictBGPPeerRegistry.addPeer(StrictBGPPeerRegistry.java:87) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BgpPeer$BgpPeerSingletonService.instantiateServiceInstance(BgpPeer.java:293) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BgpPeer$BgpPeerSingletonService.access$100(BgpPeer.java:218) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BgpPeer.instantiateServiceInstance(BgpPeer.java:161) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BGPClusterSingletonService.initiatePeerInstance(BGPClusterSingletonService.java:352) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BGPClusterSingletonService.onNeighborCreated(BGPClusterSingletonService.java:265) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BGPClusterSingletonService.onNeighborModified(BGPClusterSingletonService.java:248) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BGPClusterSingletonService.onNeighborsChanged(BGPClusterSingletonService.java:236) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BgpDeployerImpl.onNeighborsChanged(BgpDeployerImpl.java:262) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BgpDeployerImpl.handlePeersChange(BgpDeployerImpl.java:193) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BgpDeployerImpl.handleModifications(BgpDeployerImpl.java:160) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BgpDeployerImpl.onDataTreeChanged(BgpDeployerImpl.java:144) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataTreeChangeListenerAdapter.onDataTreeChanged(BindingDOMDataTreeChangeListenerAdapter.java:42) ~[243:org.opendaylight.controller.sal-binding-broker-impl:1.8.0.SNAPSHOT]
	at org.opendaylight.controller.cluster.databroker.compat.LegacyDOMDataBrokerAdapter$2.lambda$registerDataTreeChangeListener$0(LegacyDOMDataBrokerAdapter.java:102) ~[256:org.opendaylight.controller.sal-distributed-datastore:1.8.0.SNAPSHOT]
	at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.dataChanged(DataTreeChangeListenerActor.java:67) [256:org.opendaylight.controller.sal-distributed-datastore:1.8.0.SNAPSHOT]
	at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.handleReceive(DataTreeChangeListenerActor.java:41) [256:org.opendaylight.controller.sal-distributed-datastore:1.8.0.SNAPSHOT]
	at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:38) [248:org.opendaylight.controller.sal-clustering-commons:1.8.0.SNAPSHOT]
	at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167) [79:com.typesafe.akka.actor:2.5.11]
	at akka.actor.Actor.aroundReceive(Actor.scala:517) [79:com.typesafe.akka.actor:2.5.11]
	at akka.actor.Actor.aroundReceive$(Actor.scala:515) [79:com.typesafe.akka.actor:2.5.11]
	at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97) [79:com.typesafe.akka.actor:2.5.11]
	at akka.actor.ActorCell.receiveMessage(ActorCell.scala:590) [79:com.typesafe.akka.actor:2.5.11]
	at akka.actor.ActorCell.invoke(ActorCell.scala:559) [79:com.typesafe.akka.actor:2.5.11]
	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257) [79:com.typesafe.akka.actor:2.5.11]
	at akka.dispatch.Mailbox.run(Mailbox.scala:224) [79:com.typesafe.akka.actor:2.5.11]
	at akka.dispatch.Mailbox.exec(Mailbox.scala:234) [79:com.typesafe.akka.actor:2.5.11]
	at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [79:com.typesafe.akka.actor:2.5.11]
	at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [79:com.typesafe.akka.actor:2.5.11]
	at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [79:com.typesafe.akka.actor:2.5.11]
	at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [79:com.typesafe.akka.actor:2.5.11]

[1]

2018-06-27T18:25:37,846 | ERROR | opendaylight-cluster-data-notification-dispatcher-61 | DataTreeChangeListenerActor      | 248 - org.opendaylight.controller.sal-clustering-commons - 1.8.0.SNAPSHOT | member-1-shard-default-config: Error notifying listener org.opendaylight.controller.cluster.databroker.compat.LegacyDOMDataBrokerAdapter$2$$Lambda$1081/714566902@2238476f
java.lang.NullPointerException: null
	at org.opendaylight.protocol.bgp.rib.impl.config.BgpPeer.getBgpParameters(BgpPeer.java:91) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BgpPeer.access$300(BgpPeer.java:70) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BgpPeer$BgpPeerSingletonService.<init>(BgpPeer.java:257) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BgpPeer$BgpPeerSingletonService.<init>(BgpPeer.java:218) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BgpPeer.start(BgpPeer.java:138) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BgpPeer.restart(BgpPeer.java:147) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BGPClusterSingletonService.restartNeighbors(BGPClusterSingletonService.java:367) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BgpDeployerImpl.lambda$rebootNeighbors$6(BgpDeployerImpl.java:209) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at java.util.HashMap$Values.forEach(HashMap.java:981) ~[?:?]
	at org.opendaylight.protocol.bgp.rib.impl.config.BgpDeployerImpl.rebootNeighbors(BgpDeployerImpl.java:209) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BgpDeployerImpl.handlePeersChange(BgpDeployerImpl.java:195) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BgpDeployerImpl.handleModifications(BgpDeployerImpl.java:160) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.protocol.bgp.rib.impl.config.BgpDeployerImpl.onDataTreeChanged(BgpDeployerImpl.java:144) ~[218:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
	at org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataTreeChangeListenerAdapter.onDataTreeChanged(BindingDOMDataTreeChangeListenerAdapter.java:42) ~[243:org.opendaylight.controller.sal-binding-broker-impl:1.8.0.SNAPSHOT]
	at org.opendaylight.controller.cluster.databroker.compat.LegacyDOMDataBrokerAdapter$2.lambda$registerDataTreeChangeListener$0(LegacyDOMDataBrokerAdapter.java:102) ~[256:org.opendaylight.controller.sal-distributed-datastore:1.8.0.SNAPSHOT]
	at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.dataChanged(DataTreeChangeListenerActor.java:67) [256:org.opendaylight.controller.sal-distributed-datastore:1.8.0.SNAPSHOT]
	at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.handleReceive(DataTreeChangeListenerActor.java:41) [256:org.opendaylight.controller.sal-distributed-datastore:1.8.0.SNAPSHOT]
	at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:38) [248:org.opendaylight.controller.sal-clustering-commons:1.8.0.SNAPSHOT]
	at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167) [79:com.typesafe.akka.actor:2.5.11]
	at akka.actor.Actor.aroundReceive(Actor.scala:517) [79:com.typesafe.akka.actor:2.5.11]
	at akka.actor.Actor.aroundReceive$(Actor.scala:515) [79:com.typesafe.akka.actor:2.5.11]
	at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97) [79:com.typesafe.akka.actor:2.5.11]
	at akka.actor.ActorCell.receiveMessage(ActorCell.scala:590) [79:com.typesafe.akka.actor:2.5.11]
	at akka.actor.ActorCell.invoke(ActorCell.scala:559) [79:com.typesafe.akka.actor:2.5.11]
	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257) [79:com.typesafe.akka.actor:2.5.11]
	at akka.dispatch.Mailbox.run(Mailbox.scala:224) [79:com.typesafe.akka.actor:2.5.11]
	at akka.dispatch.Mailbox.exec(Mailbox.scala:234) [79:com.typesafe.akka.actor:2.5.11]
	at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [79:com.typesafe.akka.actor:2.5.11]
	at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [79:com.typesafe.akka.actor:2.5.11]
	at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [79:com.typesafe.akka.actor:2.5.11]
	at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [79:com.typesafe.akka.actor:2.5.11]


 Comments   
Comment by Claudio David Gasparini [ 27/Jun/18 ]

definition of the bug? issue, trace?

Generated at Wed Feb 07 19:14:10 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.