X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=netconf%2Ftools%2Fnetconf-testtool%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetconf%2Ftest%2Ftool%2FScaleUtil.java;h=c8929e5132741974efe851d5eeacf2edd7565825;hb=47c1b8e3d9835d336c79d6b4ca4e61417a05039e;hp=e28d936f6df34644ab5469c552e887314803a59a;hpb=dffe3d87e10e92d53c8fa175266eff388d5d88d7;p=netconf.git diff --git a/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/ScaleUtil.java b/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/ScaleUtil.java index e28d936f6d..c8929e5132 100644 --- a/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/ScaleUtil.java +++ b/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/ScaleUtil.java @@ -15,6 +15,7 @@ import com.ning.http.client.AsyncHttpClient; import com.ning.http.client.AsyncHttpClientConfig.Builder; import com.ning.http.client.Request; import com.ning.http.client.Response; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.BufferedReader; import java.io.File; import java.io.IOException; @@ -30,12 +31,13 @@ import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; -import net.sourceforge.argparse4j.inf.ArgumentParser; -import net.sourceforge.argparse4j.inf.ArgumentParserException; +import org.opendaylight.netconf.test.tool.config.Configuration; +import org.opendaylight.netconf.test.tool.config.ConfigurationBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class ScaleUtil { +@SuppressFBWarnings({"DM_EXIT", "DM_DEFAULT_ENCODING"}) +public final class ScaleUtil { private static final ScheduledExecutorService EXECUTOR = new LoggingWrapperExecutor(4); private static final Semaphore SEMAPHORE = new Semaphore(0); private static final Stopwatch STOPWATCH = Stopwatch.createUnstarted(); @@ -47,6 +49,9 @@ public class ScaleUtil { private static ch.qos.logback.classic.Logger root; private static Logger resultsLog; + private ScaleUtil() { + } + @SuppressWarnings("checkstyle:illegalCatch") public static void main(final String[] args) { final TesttoolParameters params = TesttoolParameters.parseArgs(args, TesttoolParameters.getParser()); @@ -60,23 +65,28 @@ public class ScaleUtil { while (true) { root.warn("Starting scale test with {} devices", params.deviceCount); final ScheduledFuture timeoutGuardFuture = EXECUTOR.schedule(new TimeoutGuard(), TIMEOUT, TimeUnit.MINUTES); - final NetconfDeviceSimulator netconfDeviceSimulator = new NetconfDeviceSimulator(params.threadAmount); + final Configuration configuration = new ConfigurationBuilder().from(params).build(); + final NetconfDeviceSimulator netconfDeviceSimulator = new NetconfDeviceSimulator(configuration); try { - final List openDevices = netconfDeviceSimulator.start(params); + final List openDevices = netconfDeviceSimulator.start(); if (openDevices.size() == 0) { root.error("Failed to start any simulated devices, exiting..."); System.exit(1); } - if (params.distroFolder != null) { - final Main.ConfigGenerator configGenerator = new Main.ConfigGenerator( - params.distroFolder, openDevices); - final List generated = configGenerator.generate( - params.ssh, params.generateConfigBatchSize, - params.generateConfigsTimeout, params.generateConfigsAddress, - params.devicesPerPort); - configGenerator.updateFeatureFile(generated); - configGenerator.changeLoadOrder(); + + if (params.distroFolder == null) { + root.error("Distro folder is not set, exiting..."); + System.exit(1); } + + final Main.ConfigGenerator configGenerator = new Main.ConfigGenerator( + params.distroFolder, openDevices); + final List generated = configGenerator.generate( + params.ssh, params.generateConfigBatchSize, + params.generateConfigsTimeout, params.generateConfigsAddress, + params.devicesPerPort); + configGenerator.updateFeatureFile(generated); + configGenerator.changeLoadOrder(); } catch (final Exception e) { root.error("Unhandled exception", e); netconfDeviceSimulator.close(); @@ -175,24 +185,15 @@ public class ScaleUtil { if (f.isDirectory()) { deleteFolder(f); } else { - f.delete(); + if (!f.delete()) { + root.warn("Failed to delete {}", f); + } } } } - folder.delete(); - } - - private static TesttoolParameters parseArgs(final String[] args, final ArgumentParser parser) { - final TesttoolParameters parameters = new TesttoolParameters(); - try { - parser.parseArgs(args, parameters); - return parameters; - } catch (ArgumentParserException e) { - parser.handleError(e); + if (!folder.delete()) { + root.warn("Failed to delete {}", folder); } - - System.exit(1); - return null; } private static class ScaleVerifyCallable implements Callable { @@ -281,11 +282,10 @@ public class ScaleUtil { return new LogOnExceptionCallable(callable); } - private class LogOnExceptionCallable implements Callable { - private Callable theCallable; + private static class LogOnExceptionCallable implements Callable { + private final Callable theCallable; LogOnExceptionCallable(Callable theCallable) { - super(); this.theCallable = theCallable; }