Connection Manager infrastructure supporting the Clustering Active-Active requirement. 48/748/1
authorMadhu Venugopal <vmadhu@cisco.com>
Tue, 30 Jul 2013 18:05:43 +0000 (11:05 -0700)
committerMadhu Venugopal <vmadhu@cisco.com>
Tue, 30 Jul 2013 18:05:43 +0000 (11:05 -0700)
commit59fdd1aa84189a4672326f225235f747f6eb9a66
tree3bd63040ea8ba09c1041585d6ba803d1fa7dc013
parent2f14a41bbd09010114116aef1499641f7251bf83
Connection Manager infrastructure supporting the Clustering Active-Active requirement.
This commit brings in the following changes :
1. Connection Manager as a functional module that runs above SAL providing common services to various south-bound plugins.
   The initial version of Connection Manager takes in Node as the only argument and let the Connection Management Scheme to determine the fate of the connection.
   Primary use-case that is addressed here is the HA/Clustering's Active-Active mode with the ability for Nodes to connect to different controller in a cluster.

2. SAL Connection service is implemented as a seperate bundle in order to show case the possibility of SAL being extensible and not a monolith piece of infra.

3. The only API that is exposed now is the isLocal functionality which can be used by Apps and Protocol plugins alike to take care of their individual funcationalities.

The corresponding Protocol-plugin changes will be pushed as a different commit.

Change-Id: I0ffad694b1a21ff4ec7e2139bb81a398412b9de0
Signed-off-by: Madhu Venugopal <vmadhu@cisco.com>
26 files changed:
opendaylight/connectionmanager/api/pom.xml [new file with mode: 0644]
opendaylight/connectionmanager/api/src/main/java/org/opendaylight/controller/connectionmanager/ConnectionMgmtScheme.java [new file with mode: 0644]
opendaylight/connectionmanager/api/src/main/java/org/opendaylight/controller/connectionmanager/IConnectionManager.java [new file with mode: 0644]
opendaylight/connectionmanager/implementation/pom.xml [new file with mode: 0644]
opendaylight/connectionmanager/implementation/src/main/java/org/opendaylight/controller/connectionmanager/internal/Activator.java [new file with mode: 0644]
opendaylight/connectionmanager/implementation/src/main/java/org/opendaylight/controller/connectionmanager/internal/ConnectionManager.java [new file with mode: 0644]
opendaylight/connectionmanager/implementation/src/main/java/org/opendaylight/controller/connectionmanager/internal/ConnectionMgmtEvent.java [new file with mode: 0644]
opendaylight/connectionmanager/implementation/src/main/java/org/opendaylight/controller/connectionmanager/internal/ConnectionMgmtEventType.java [new file with mode: 0644]
opendaylight/connectionmanager/implementation/src/main/java/org/opendaylight/controller/connectionmanager/scheme/AbstractScheme.java [new file with mode: 0644]
opendaylight/connectionmanager/implementation/src/main/java/org/opendaylight/controller/connectionmanager/scheme/AnyControllerScheme.java [new file with mode: 0644]
opendaylight/connectionmanager/implementation/src/main/java/org/opendaylight/controller/connectionmanager/scheme/ControllerConfig.java [new file with mode: 0644]
opendaylight/connectionmanager/implementation/src/main/java/org/opendaylight/controller/connectionmanager/scheme/LoadBalancedScheme.java [new file with mode: 0644]
opendaylight/connectionmanager/implementation/src/main/java/org/opendaylight/controller/connectionmanager/scheme/RoundRobinScheme.java [new file with mode: 0644]
opendaylight/connectionmanager/implementation/src/main/java/org/opendaylight/controller/connectionmanager/scheme/SchemeFactory.java [new file with mode: 0644]
opendaylight/connectionmanager/implementation/src/main/java/org/opendaylight/controller/connectionmanager/scheme/SingleControllerScheme.java [new file with mode: 0644]
opendaylight/distribution/opendaylight/pom.xml
opendaylight/sal/connection/api/pom.xml [new file with mode: 0644]
opendaylight/sal/connection/api/src/main/java/org/opendaylight/controller/sal/connection/ConnectionConstants.java [new file with mode: 0644]
opendaylight/sal/connection/api/src/main/java/org/opendaylight/controller/sal/connection/IConnectionListener.java [new file with mode: 0644]
opendaylight/sal/connection/api/src/main/java/org/opendaylight/controller/sal/connection/IConnectionService.java [new file with mode: 0644]
opendaylight/sal/connection/api/src/main/java/org/opendaylight/controller/sal/connection/IPluginInConnectionService.java [new file with mode: 0644]
opendaylight/sal/connection/api/src/main/java/org/opendaylight/controller/sal/connection/IPluginOutConnectionService.java [new file with mode: 0644]
opendaylight/sal/connection/implementation/pom.xml [new file with mode: 0644]
opendaylight/sal/connection/implementation/src/main/java/org/opendaylight/controller/sal/connection/implementation/internal/Activator.java [new file with mode: 0644]
opendaylight/sal/connection/implementation/src/main/java/org/opendaylight/controller/sal/connection/implementation/internal/ConnectionService.java [new file with mode: 0644]
opendaylight/sal/implementation/src/main/java/org/opendaylight/controller/sal/implementation/internal/Activator.java