Improve logging in netconf test tool 19/40219/6
authorJakub Morvay <jmorvay@cisco.com>
Mon, 13 Jun 2016 08:30:50 +0000 (10:30 +0200)
committerJakub Morvay <jmorvay@cisco.com>
Tue, 14 Jun 2016 08:12:32 +0000 (08:12 +0000)
This adds debug logs to TesttoolNegotiationFactory to help distinguish
cached operation service from newly created one. Also logs passed
parameters to netconf test tool.

Change-Id: I52dbc86a926724f97490ef2d939da22e71a3925a
Signed-off-by: Jakub Morvay <jmorvay@cisco.com>
opendaylight/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/Main.java
opendaylight/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/MdsalOperationProvider.java
opendaylight/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/TesttoolNegotiationFactory.java

index 7f6595f614748193a9e9afedf13832c7ee8005af..0a3c6fd4b91924d5481801db4cff107abddf6b72 100644 (file)
@@ -188,6 +188,28 @@ public final class Main {
                 checkArgument(schemasDir.canRead(), "Schemas dir has to be readable");
             }
         }
+
+        @Override
+        public String toString() {
+            StringBuffer params = new StringBuffer("TesttoolParameters{");
+            params.append("schemas-dir='").append(schemasDir).append('\'');
+            params.append(", devices-count='").append(deviceCount).append('\'');
+            params.append(", devices-per-port='").append(devicesPerPort).append('\'');
+            params.append(", starting-port='").append(startingPort).append('\'');
+            params.append(", generate-config-connection-timeout='").append(generateConfigsTimeout).append('\'');
+            params.append(", generate-config-address='").append(generateConfigsAddress).append('\'');
+            params.append(", distro-folder='").append(distroFolder).append('\'');
+            params.append(", generate-configs-batch-size='").append(generateConfigBatchSize).append('\'');
+            params.append(", ssh='").append(ssh).append('\'');
+            params.append(", exi='").append(exi).append('\'');
+            params.append(", debug='").append(debug).append('\'');
+            params.append(", notification-file='").append(notificationFile).append('\'');
+            params.append(", md-sal='").append(mdSal).append('\'');
+            params.append(", initial-config-xml-file='").append(initialConfigXMLFile).append('\'');
+            params.append('}');
+
+            return params.toString();
+        }
     }
 
     public static void main(final String[] args) {
@@ -199,6 +221,7 @@ public final class Main {
 
         final NetconfDeviceSimulator netconfDeviceSimulator = new NetconfDeviceSimulator();
         try {
+            LOG.debug("Trying to start netconf test-tool with parameters {}", params);
             final List<Integer> openDevices = netconfDeviceSimulator.start(params);
             if (openDevices.size() == 0) {
                 LOG.error("Failed to start any simulated devices, exiting...");
index 605d7ba35fb6aa7c5de08e48397aa7b1c24b7974..767a8ef83f7ff03c011f3379ef6f5ea6bf192980 100644 (file)
@@ -117,7 +117,7 @@ class MdsalOperationProvider implements NetconfOperationServiceFactory {
             this.sourceProvider = sourceProvider;
             this.schemaService = createSchemaService();
 
-            this.dataBroker = createDataStore(schemaService);
+            this.dataBroker = createDataStore(schemaService, currentSessionId);
 
         }
 
@@ -206,7 +206,8 @@ class MdsalOperationProvider implements NetconfOperationServiceFactory {
                     new YangInstanceIdentifier.NodeIdentifier(NetconfState.QNAME)).withChild(schemasContainer).build();
         }
 
-        private DOMDataBroker createDataStore(SchemaService schemaService) {
+        private DOMDataBroker createDataStore(SchemaService schemaService, long sessionId) {
+            LOG.debug("Session {}: Creating data stores for simulated device", sessionId);
             final DOMStore operStore = InMemoryDOMDataStoreFactory
                     .create("DOM-OPER", schemaService);
             final DOMStore configStore = InMemoryDOMDataStoreFactory
index d94c0ad158eed22eedfe1fd666a7ae4797b7be45..862b5fbdcf1144bf9d37fabe13b8afb48ea56141 100644 (file)
@@ -18,8 +18,11 @@ import org.opendaylight.netconf.impl.NetconfServerSessionNegotiatorFactory;
 import org.opendaylight.netconf.impl.SessionIdProvider;
 import org.opendaylight.netconf.mapping.api.NetconfOperationService;
 import org.opendaylight.netconf.mapping.api.NetconfOperationServiceFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class TesttoolNegotiationFactory extends NetconfServerSessionNegotiatorFactory {
+    private static final Logger LOG = LoggerFactory.getLogger(TesttoolNegotiationFactory.class);
 
     private final Map<SocketAddress, NetconfOperationService> cachedOperationServices = new HashMap<>();
 
@@ -38,10 +41,14 @@ public class TesttoolNegotiationFactory extends NetconfServerSessionNegotiatorFa
     @Override
     protected NetconfOperationService getOperationServiceForAddress(final String netconfSessionIdForReporting, final SocketAddress socketAddress) {
         if (cachedOperationServices.containsKey(socketAddress)) {
+            LOG.debug("Session {}: Getting cached operation service factory for test tool device on address {}",
+                    netconfSessionIdForReporting, socketAddress);
             return cachedOperationServices.get(socketAddress);
         } else {
             final NetconfOperationService service = getOperationServiceFactory().createService(netconfSessionIdForReporting);
             cachedOperationServices.put(socketAddress, service);
+            LOG.debug("Session {}: Creating new operation service factory for test tool on address {}",
+                    netconfSessionIdForReporting, socketAddress);
             return service;
         }
     }