Add RoleManager and RoleContext 35/61035/22
authorTomas Slusny <tomas.slusny@pantheon.tech>
Wed, 2 Aug 2017 11:15:42 +0000 (13:15 +0200)
committerTomas Slusny <tomas.slusny@pantheon.tech>
Mon, 21 Aug 2017 12:53:55 +0000 (14:53 +0200)
commit0a19a71a8d3153816b86cc46690b3e88a89e2a1f
tree76bd1898006b466ba7bd641154ee68d2cdbcb0be
parent2e7de34840ef72e7b57209fc9a57d334b0a6402a
Add RoleManager and RoleContext

- Move sending of MASTER and SLAVE role from DeviceContext
  and ContextChainHolder to new RoleContext and RoleManager
- Use hashed wheel timer for setting SLAVE role on device in
  case MASTER role was not propagated instead of ItemScheduler
- Remove retries from SalRoleService

See also: bug 8913

Change-Id: I808efef843ed936035fbf7759ae22d8976c80ca7
Signed-off-by: Tomas Slusny <tomas.slusny@pantheon.tech>
19 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/lifecycle/ContextChain.java
openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/lifecycle/ContextChainMastershipWatcher.java
openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/role/RoleContext.java [new file with mode: 0644]
openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/role/RoleManager.java [new file with mode: 0644]
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/lifecycle/ContextChainHolderImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/lifecycle/ContextChainImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/role/RoleContextImpl.java [new file with mode: 0644]
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/role/RoleManagerImpl.java [new file with mode: 0644]
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/services/sal/SalRoleServiceImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/util/ItemScheduler.java [deleted file]
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/device/DeviceContextImplTest.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/role/RoleContextImplTest.java [new file with mode: 0644]
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/services/sal/SalRoleServiceImplTest.java