Bug 5685: Integate BGP topology provider with cluster singleton service. 32/42632/11
authorMilos Fabian <milfabia@cisco.com>
Wed, 27 Jul 2016 10:27:14 +0000 (12:27 +0200)
committerRobert Varga <nite@hq.sk>
Tue, 30 Aug 2016 17:29:14 +0000 (17:29 +0000)
commite1a2ab99146c6e345f4e9911e51595eea5cdea11
treedff72deed6e49a16fa15901c73cee12be203330f
parent3f047616c1e26d6b28d047f26bc7230506c70509
Bug 5685: Integate BGP topology provider with cluster singleton service.

The BgpTopologyDeployer service is responsible for a topology builder instances creation.
In clustered environment, this service is running on all three nodes, consuming the same
configuration, create the same topology builder instance and register it to the cluster singleton service
provider on all nodes, but only one instance become active.
This integration allows fail-over scenarios and avoids confilicting datastore modifications for
topology builders with the same topology-id.
Provide backwards compatility for CSS modules, where instance is created and configuration
is written to DS when instance become active.

Change-Id: Id1af5368f5d9fad04243e2ab909c5948632626d7
Signed-off-by: Milos Fabian <milfabia@cisco.com>
20 files changed:
bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/AbstractBgpTopologyProvider.java [moved from bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/AbstractBgpTopologyProvider.java with 66% similarity]
bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/BackwardsCssTopologyProvider.java [moved from bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/BackwardsCssTopologyProvider.java with 75% similarity]
bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/BgpTopologyDeployerImpl.java [moved from bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/BgpTopologyDeployerImpl.java with 72% similarity]
bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/Ipv4TopologyProvider.java [moved from bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/Ipv4TopologyProvider.java with 55% similarity]
bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/Ipv6TopologyProvider.java [moved from bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/Ipv6TopologyProvider.java with 55% similarity]
bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/LinkstateTopologyProvider.java [moved from bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/LinkstateTopologyProvider.java with 55% similarity]
bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/TopologyReferenceSingletonServiceImpl.java [new file with mode: 0644]
bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/spi/BgpTopologyDeployer.java
bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/spi/BgpTopologyProvider.java
bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/spi/TopologyReferenceSingletonService.java [moved from bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/TopologyReferenceAutoCloseable.java with 50% similarity]
bgp/topology-provider/src/main/java/org/opendaylight/controller/config/yang/bgp/reachability/ipv4/Ipv4ReachabilityTopologyBuilderModule.java
bgp/topology-provider/src/main/java/org/opendaylight/controller/config/yang/bgp/reachability/ipv4/Ipv4ReachabilityTopologyBuilderModuleFactory.java
bgp/topology-provider/src/main/java/org/opendaylight/controller/config/yang/bgp/reachability/ipv6/Ipv6ReachabilityTopologyBuilderModule.java
bgp/topology-provider/src/main/java/org/opendaylight/controller/config/yang/bgp/reachability/ipv6/Ipv6ReachabilityTopologyBuilderModuleFactory.java
bgp/topology-provider/src/main/java/org/opendaylight/controller/config/yang/bgp/topology/provider/LinkstateTopologyBuilderModule.java
bgp/topology-provider/src/main/java/org/opendaylight/controller/config/yang/bgp/topology/provider/LinkstateTopologyBuilderModuleFactory.java
bgp/topology-provider/src/main/resources/org/opendaylight/blueprint/bgp-topology-provider.xml
bgp/topology-provider/src/test/java/org/opendaylight/controller/config/yang/bgp/topology/provider/Ipv4ReachabilityTopologyBuilderModuleTest.java
bgp/topology-provider/src/test/java/org/opendaylight/controller/config/yang/bgp/topology/provider/Ipv6ReachabilityTopologyBuilderModuleTest.java
bgp/topology-provider/src/test/java/org/opendaylight/controller/config/yang/bgp/topology/provider/LinkstateTopologyBuilderModuleTest.java