Improve logging to indicate when configuration has been pushed
[controller.git] / opendaylight / netconf / config-persister-impl / src / main / java / org / opendaylight / controller / netconf / persist / impl / osgi / ConfigPersisterActivator.java
index 656091115c8907aa5de61394e1a6a6f9da516317..179c9681fc4b21732286442251f5029e19e6958c 100644 (file)
@@ -25,6 +25,7 @@ import javax.management.MBeanServer;
 import java.lang.management.ManagementFactory;
 import java.net.InetSocketAddress;
 import java.util.regex.Pattern;
+import java.util.concurrent.TimeUnit;
 
 public class ConfigPersisterActivator implements BundleActivator {
 
@@ -33,6 +34,8 @@ public class ConfigPersisterActivator implements BundleActivator {
     private final static MBeanServer platformMBeanServer = ManagementFactory.getPlatformMBeanServer();
     private static final String IGNORED_MISSING_CAPABILITY_REGEX_SUFFIX = "ignoredMissingCapabilityRegex";
 
+    private static final String PUSH_TIMEOUT = "pushTimeout";
+
     public static final String NETCONF_CONFIG_PERSISTER = "netconf.config.persister";
 
     public static final String STORAGE_ADAPTER_CLASS_PROP_SUFFIX = "storageAdapterClass";
@@ -59,6 +62,10 @@ public class ConfigPersisterActivator implements BundleActivator {
         } else {
             regex = DEFAULT_IGNORED_REGEX;
         }
+
+        String timeoutProperty = propertiesProvider.getProperty(PUSH_TIMEOUT);
+        long timeout = timeoutProperty == null ? ConfigPusher.DEFAULT_TIMEOUT : TimeUnit.SECONDS.toNanos(Integer.valueOf(timeoutProperty));
+
         final Pattern ignoredMissingCapabilityRegex = Pattern.compile(regex);
         nettyThreadgroup = new NioEventLoopGroup();
 
@@ -78,8 +85,12 @@ public class ConfigPersisterActivator implements BundleActivator {
                             ignoredMissingCapabilityRegex);
                     jmxNotificationHandler.init();
                 } catch (InterruptedException e) {
-                    logger.info("Interrupted while waiting for netconf connection");
+                    Thread.currentThread().interrupt();
+                    logger.error("Interrupted while waiting for netconf connection");
+                    // uncaught exception handler will deal with this failure
+                    throw new RuntimeException("Interrupted while waiting for netconf connection", e);
                 }
+                logger.info("Configuration Persister initialization completed.");
             }
         };
         initializationThread = new Thread(initializationRunnable, "ConfigPersister-registrator");