Bug-4957 Cluster Role change fix 73/35473/2
authorVaclav Demcak <vdemcak@cisco.com>
Mon, 22 Feb 2016 14:52:38 +0000 (15:52 +0100)
committerJozef Bacigal <jbacigal@cisco.com>
Tue, 1 Mar 2016 12:29:21 +0000 (13:29 +0100)
commit1ba054a44acddce5ee3a24a7d373c673f06ee36d
tree46c954691dd074d60d8a3974c4357da4d6cb375a
parent73e29d97e9a5f8260e4768e8648867b231e2bdba
Bug-4957 Cluster Role change fix

* TxManager shutdown fail has to clean DS (put empty Node)
* DeviceCtx onRoleChange needs call Device Initialization
  functionality but we need to know when we are able to
  put fresh data in to Oper DS and when we could jump
  write functionality
* DeviceCtx contract change for method OnClusterRoleChange

Note: Cluster Master to Slave change could finish during
initialization phase or TxManager could fail in submitting
last transaction state. So we needs a marker for "something
unexpected is happend" and we have to put fresh data to
Operational DataStore

Change-Id: I18e8c0d75e2e5cf195d9a98c1e096fb5517fab72
Signed-off-by: Jozef Bacigal <jbacigal@cisco.com>
Signed-off-by: Vaclav Demcak <vdemcak@cisco.com>
23 files changed:
openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/device/DeviceContext.java
openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/device/DeviceState.java
openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/statistics/StatisticsContext.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/OpenFlowPluginProviderImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/device/DeviceContextImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/device/DeviceManagerImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/device/DeviceStateImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/device/TransactionChainManager.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/role/RoleContextImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/role/RoleManagerImpl.java
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/main/java/org/opendaylight/openflowplugin/impl/util/DeviceInitializationUtils.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/util/MdSalRegistratorUtils.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/device/DeviceContextImplTest.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/device/DeviceManagerImplTest.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/role/RoleContextImplTest.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsContextImplParamTest.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsContextImplTest.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsManagerImplTest.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/util/MdSalRegistratorUtilsTest.java