BGPCEP-709: Operational OpenConfig BGP RIB output is not seen for all controllers... 72/64772/9
authorAjay Lele <ajayslele@gmail.com>
Thu, 26 Oct 2017 19:04:59 +0000 (12:04 -0700)
committerClaudio D. Gasparini <claudio.gasparini@pantheon.tech>
Tue, 14 Nov 2017 20:21:26 +0000 (21:21 +0100)
commit260e11764030fff45cf0b23cd516d4c4af2f0ba1
tree8da29472bb32d79b755c70f9d66b6586bd289457
parentb799eabd7f9f9d869506dd40aeaad71820374d46
BGPCEP-709: Operational OpenConfig BGP RIB output is not seen for all controllers in the 3 node cluster

- StateProviderImpl uses clustering singleton service to run only 1 instance in cluster.
  Problem is that if BGP speaker needs to be kept separate across the cluster nodes
  e.g. for scalability issues (creating separate shard for bgp rib and openconfig module and
  disabling replication for them), since the singleton service name is same across
  the nodes, only 1 instance of the service runs and so operational data is available
  only on that node.
- This PR changes this to run operational data collection/update service on all nodes,
  but perform the activity only for rib and peer that are active on that node.
- Updated unit-tests.

Change-Id: I7284b249b8ec68b4c6905a92bbb221816d196cae
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
bgp/openconfig-state/src/main/java/org/opendaylight/protocol/bgp/state/StateProviderImpl.java
bgp/openconfig-state/src/main/resources/org/opendaylight/blueprint/bgp-openconfig-state.xml
bgp/openconfig-state/src/test/java/org/opendaylight/protocol/bgp/state/StateProviderImplTest.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/ApplicationPeer.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/BGPPeer.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBImpl.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/state/BGPPeerStateImpl.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/state/BGPRIBStateImpl.java
bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/state/BGPPeerState.java
bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/state/BGPRIBState.java