Fix context chain initialization and SLAVE change 75/60075/22
authorTomas Slusny <tomas.slusny@pantheon.tech>
Fri, 7 Jul 2017 13:15:09 +0000 (15:15 +0200)
committerTomas Slusny <tomas.slusny@pantheon.tech>
Mon, 24 Jul 2017 07:55:21 +0000 (09:55 +0200)
commit228b5e2efeb24b772bfd135bb3d0ae941199fda8
tree597005fc58f76d5f3f13eeb15ad1bc484df08407
parent314c4eabb9443cb5e482bbea75239ca82587c8b9
Fix context chain initialization and SLAVE change

- Merge ContextChain and LifecycleService
- Let ClusterSingletonService handle stopping of mastership services in
closeServiceInstance method
- Store cluster singleton initialization future and process it
synchronously in case we are closing
- Cancel device initialization future if we got timeout
- Handle initialization chain order in ContextChain instead of storing
each next phase in contexts
- Remove SLAVE task from scheduler in case we acquired SLAVE role
already
- Prevent adding exactly same auxiliary connection twice to list of
auxiliary connections in ContextChain
- When SLAVE role is obtained from cluster singleton service, notify
MastershipChangeListener about it
- Log exceptions from handshake as warning instead of error (as only
problem is that device gets disconnected and reconnected, what is not
critical)
- In case context chain is still closing and we receive new connection,
drop the connection and let context chain finish closing

See also: bug 8805

Change-Id: If14da19899087018c5e6cc42d195af43c1e89bfd
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
27 files changed:
openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/OFPContext.java
openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/device/DeviceContext.java
openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/device/DeviceInfo.java
openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/device/handlers/ClusterInitializationPhaseHandler.java [deleted file]
openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/device/handlers/ClusterLifecycleSupervisor.java [deleted file]
openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/lifecycle/ContextChain.java
openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/lifecycle/ContextChainHolder.java
openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/lifecycle/LifecycleService.java [deleted file]
openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/rpc/RpcManager.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/connection/ConnectionContextImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/connection/listener/HandshakeListenerImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/device/DeviceContextImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/device/TransactionChainManager.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/device/initialization/AbstractDeviceInitializer.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/lifecycle/ContextChainHolderImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/lifecycle/ContextChainImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/lifecycle/LifecycleServiceImpl.java [deleted file]
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/rpc/RpcContextImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/rpc/RpcManagerImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsContextImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsManagerImpl.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/device/DeviceManagerImplTest.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/device/TransactionChainManagerTest.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/lifecycle/ContextChainHolderImplTest.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/lifecycle/ContextChainImplTest.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/lifecycle/LifecycleServiceImplTest.java [deleted file]
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsContextImpMockInitiation.java