Code Review
/
openflowplugin.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
All openflow nodes are not getting listed in the output of getallnodes in controller...
[openflowplugin.git]
/
openflowplugin-impl
/
src
/
main
/
java
/
org
/
opendaylight
/
openflowplugin
/
impl
/
OpenFlowPluginProviderImpl.java
diff --git
a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/OpenFlowPluginProviderImpl.java
b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/OpenFlowPluginProviderImpl.java
index 9367ebba4c63e5126c22082a67e710ac072cbb08..8a61ca1a5c954871e3fa388568ff56e0fbe2281d 100644
(file)
--- a/
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/OpenFlowPluginProviderImpl.java
+++ b/
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/OpenFlowPluginProviderImpl.java
@@
-126,6
+126,7
@@
public class OpenFlowPluginProviderImpl implements
private ListeningExecutorService executorService;
private ContextChainHolderImpl contextChainHolder;
private final OpenflowDiagStatusProvider openflowDiagStatusProvider;
private ListeningExecutorService executorService;
private ContextChainHolderImpl contextChainHolder;
private final OpenflowDiagStatusProvider openflowDiagStatusProvider;
+ private final SystemReadyMonitor systemReadyMonitor;
private final SettableFuture<Void> fullyStarted = SettableFuture.create();
private static final String OPENFLOW_SERVICE_NAME = "OPENFLOW";
private final SettableFuture<Void> fullyStarted = SettableFuture.create();
private static final String OPENFLOW_SERVICE_NAME = "OPENFLOW";
@@
-156,8
+157,7
@@
public class OpenFlowPluginProviderImpl implements
config = new OpenFlowProviderConfigImpl(configurationService);
this.mastershipChangeServiceManager = mastershipChangeServiceManager;
this.openflowDiagStatusProvider = openflowDiagStatusProvider;
config = new OpenFlowProviderConfigImpl(configurationService);
this.mastershipChangeServiceManager = mastershipChangeServiceManager;
this.openflowDiagStatusProvider = openflowDiagStatusProvider;
- systemReadyMonitor.registerListener(this);
- LOG.info("registered onSystemBootReady() listener for deferred startSwitchConnections()");
+ this.systemReadyMonitor = systemReadyMonitor;
}
@Override
}
@Override
@@
-238,9
+238,9
@@
public class OpenFlowPluginProviderImpl implements
// constructed threads when they are available.
// Threads that have not been used for x seconds are terminated and removed from the cache.
executorService = MoreExecutors.listeningDecorator(new ThreadPoolLoggingExecutor(
// constructed threads when they are available.
// Threads that have not been used for x seconds are terminated and removed from the cache.
executorService = MoreExecutors.listeningDecorator(new ThreadPoolLoggingExecutor(
- config.getThreadPoolMinThreads(),
- config.getThreadPoolMaxThreads().getValue(),
- config.getThreadPoolTimeout(),
+ config.getThreadPoolMinThreads()
.toJava()
,
+ config.getThreadPoolMaxThreads().getValue()
.toJava()
,
+ config.getThreadPoolTimeout()
.toJava()
,
TimeUnit.SECONDS, new SynchronousQueue<>(), POOL_NAME));
deviceManager = new DeviceManagerImpl(
TimeUnit.SECONDS, new SynchronousQueue<>(), POOL_NAME));
deviceManager = new DeviceManagerImpl(
@@
-250,7
+250,8
@@
public class OpenFlowPluginProviderImpl implements
notificationPublishService,
hashedWheelTimer,
convertorManager,
notificationPublishService,
hashedWheelTimer,
convertorManager,
- deviceInitializerProvider);
+ deviceInitializerProvider,
+ executorService);
TranslatorLibraryUtil.injectBasicTranslatorLibrary(deviceManager, convertorManager);
((ExtensionConverterProviderKeeper) deviceManager).setExtensionConverterProvider(extensionConverterManager);
TranslatorLibraryUtil.injectBasicTranslatorLibrary(deviceManager, convertorManager);
((ExtensionConverterProviderKeeper) deviceManager).setExtensionConverterProvider(extensionConverterManager);
@@
-268,25
+269,28
@@
public class OpenFlowPluginProviderImpl implements
convertorManager,
executorService);
convertorManager,
executorService);
- roleManager = new RoleManagerImpl(hashedWheelTimer, config);
+ roleManager = new RoleManagerImpl(hashedWheelTimer, config
, executorService
);
contextChainHolder = new ContextChainHolderImpl(
executorService,
singletonServicesProvider,
entityOwnershipService,
contextChainHolder = new ContextChainHolderImpl(
executorService,
singletonServicesProvider,
entityOwnershipService,
- mastershipChangeServiceManager);
+ mastershipChangeServiceManager,
+ config);
contextChainHolder.addManager(deviceManager);
contextChainHolder.addManager(statisticsManager);
contextChainHolder.addManager(rpcManager);
contextChainHolder.addManager(roleManager);
contextChainHolder.addManager(deviceManager);
contextChainHolder.addManager(statisticsManager);
contextChainHolder.addManager(rpcManager);
contextChainHolder.addManager(roleManager);
- connectionManager = new ConnectionManagerImpl(config, executorService);
+ connectionManager = new ConnectionManagerImpl(config, executorService
, dataBroker, notificationPublishService
);
connectionManager.setDeviceConnectedHandler(contextChainHolder);
connectionManager.setDeviceDisconnectedHandler(contextChainHolder);
deviceManager.setContextChainHolder(contextChainHolder);
deviceManager.initialize();
connectionManager.setDeviceConnectedHandler(contextChainHolder);
connectionManager.setDeviceDisconnectedHandler(contextChainHolder);
deviceManager.setContextChainHolder(contextChainHolder);
deviceManager.initialize();
+ systemReadyMonitor.registerListener(this);
+ LOG.info("registered onSystemBootReady() listener for deferred startSwitchConnections()");
}
@Override
}
@Override
@@
-296,6
+300,7
@@
public class OpenFlowPluginProviderImpl implements
@Override
@PreDestroy
@Override
@PreDestroy
+ @SuppressWarnings("checkstyle:IllegalCatch")
public void close() {
try {
shutdownSwitchConnections().get(10, TimeUnit.SECONDS);
public void close() {
try {
shutdownSwitchConnections().get(10, TimeUnit.SECONDS);
@@
-304,6
+309,7
@@
public class OpenFlowPluginProviderImpl implements
}
gracefulShutdown(contextChainHolder);
}
gracefulShutdown(contextChainHolder);
+ gracefulShutdown(connectionManager);
gracefulShutdown(deviceManager);
gracefulShutdown(rpcManager);
gracefulShutdown(statisticsManager);
gracefulShutdown(deviceManager);
gracefulShutdown(rpcManager);
gracefulShutdown(statisticsManager);
@@
-312,6
+318,14
@@
public class OpenFlowPluginProviderImpl implements
gracefulShutdown(hashedWheelTimer);
unregisterMXBean(MESSAGE_INTELLIGENCE_AGENCY_MX_BEAN_NAME);
openflowDiagStatusProvider.reportStatus(ServiceState.UNREGISTERED);
gracefulShutdown(hashedWheelTimer);
unregisterMXBean(MESSAGE_INTELLIGENCE_AGENCY_MX_BEAN_NAME);
openflowDiagStatusProvider.reportStatus(ServiceState.UNREGISTERED);
+ try {
+ if (connectionManager != null) {
+ connectionManager.close();
+ connectionManager = null;
+ }
+ } catch (Exception e) {
+ LOG.error("Failed to close ConnectionManager", e);
+ }
}
@SuppressWarnings("checkstyle:IllegalCatch")
}
@SuppressWarnings("checkstyle:IllegalCatch")