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
index 31644b6eae9c9043c77bf01c78cf6118ec9fc431..8a61ca1a5c954871e3fa388568ff56e0fbe2281d 100644 (file)
@@ -126,6 +126,7 @@ public class OpenFlowPluginProviderImpl implements
     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";
 
@@ -156,8 +157,7 @@ public class OpenFlowPluginProviderImpl implements
         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
@@ -275,7 +275,8 @@ public class OpenFlowPluginProviderImpl implements
                 executorService,
                 singletonServicesProvider,
                 entityOwnershipService,
-                mastershipChangeServiceManager);
+                mastershipChangeServiceManager,
+                config);
 
         contextChainHolder.addManager(deviceManager);
         contextChainHolder.addManager(statisticsManager);
@@ -288,6 +289,8 @@ public class OpenFlowPluginProviderImpl implements
 
         deviceManager.setContextChainHolder(contextChainHolder);
         deviceManager.initialize();
+        systemReadyMonitor.registerListener(this);
+        LOG.info("registered onSystemBootReady() listener for deferred startSwitchConnections()");
     }
 
     @Override
@@ -306,6 +309,7 @@ public class OpenFlowPluginProviderImpl implements
         }
 
         gracefulShutdown(contextChainHolder);
+        gracefulShutdown(connectionManager);
         gracefulShutdown(deviceManager);
         gracefulShutdown(rpcManager);
         gracefulShutdown(statisticsManager);