Moving from local to netty transport.

Change-Id: Id37af6fa4d0971fd34ed18951196dde47bc4a12d
diff --git a/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/AtomixTestBase.java b/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/AtomixTestBase.java
index 82265ad..01c33ec 100644
--- a/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/AtomixTestBase.java
+++ b/core/store/primitives/src/test/java/org/onosproject/store/primitives/resources/impl/AtomixTestBase.java
@@ -15,17 +15,22 @@
  */
 package org.onosproject.store.primitives.resources.impl;
 
+import com.google.common.util.concurrent.Uninterruptibles;
 import io.atomix.AtomixClient;
 import io.atomix.catalyst.serializer.Serializer;
 import io.atomix.catalyst.transport.Address;
 import io.atomix.catalyst.transport.local.LocalServerRegistry;
-import io.atomix.catalyst.transport.local.LocalTransport;
+import io.atomix.catalyst.transport.netty.NettyTransport;
 import io.atomix.copycat.client.CopycatClient;
 import io.atomix.copycat.server.CopycatServer;
 import io.atomix.copycat.server.storage.Storage;
 import io.atomix.copycat.server.storage.StorageLevel;
 import io.atomix.manager.internal.ResourceManagerState;
 import io.atomix.resource.ResourceType;
+import org.junit.After;
+import org.junit.Before;
+import org.onlab.junit.TestTools;
+import org.onosproject.store.primitives.impl.CatalystSerializers;
 
 import java.io.File;
 import java.io.IOException;
@@ -35,12 +40,7 @@
 import java.util.List;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.CountDownLatch;
-
-import org.junit.After;
-import org.junit.Before;
-import org.onosproject.store.primitives.impl.CatalystSerializers;
-
-import com.google.common.util.concurrent.Uninterruptibles;
+import java.util.concurrent.atomic.AtomicInteger;
 
 /**
  * Base class for various Atomix* tests.
@@ -48,7 +48,7 @@
 public abstract class AtomixTestBase {
     private static final File TEST_DIR = new File("target/test-logs");
     protected LocalServerRegistry registry;
-    protected int port;
+    protected final AtomicInteger port = new AtomicInteger(49200);
     protected List<Address> members;
     protected List<CopycatClient> copycatClients = new ArrayList<>();
     protected List<CopycatServer> copycatServers = new ArrayList<>();
@@ -69,7 +69,8 @@
      * @return The next server address.
      */
     private Address nextAddress() {
-        Address address = new Address("localhost", port++);
+        Address address = new Address("127.0.0.1",
+                          TestTools.findAvailablePort(port.getAndIncrement()));
         members.add(address);
         return address;
     }
@@ -82,13 +83,16 @@
         List<CopycatServer> servers = new ArrayList<>();
 
         List<Address> members = new ArrayList<>();
-        for (int i = 0; i < nodes; i++) {
-            members.add(nextAddress());
-        }
 
         for (int i = 0; i < nodes; i++) {
-            CopycatServer server = createCopycatServer(members.get(i));
-            server.bootstrap(members).thenRun(latch::countDown);
+            Address address = nextAddress();
+            members.add(address);
+            CopycatServer server = createCopycatServer(address);
+            if (members.size() <= 1) {
+                server.bootstrap().thenRun(latch::countDown).join();
+            } else {
+                server.join(members).thenRun(latch::countDown);
+            }
             servers.add(server);
         }
 
@@ -102,11 +106,10 @@
      */
     protected CopycatServer createCopycatServer(Address address) {
         CopycatServer server = CopycatServer.builder(address)
-                .withTransport(new LocalTransport(registry))
+                .withTransport(NettyTransport.builder().withThreads(1).build())
                 .withStorage(Storage.builder()
-                        .withStorageLevel(StorageLevel.DISK)
-                        .withDirectory(TEST_DIR + "/" + address.port())
-                        .build())
+                             .withStorageLevel(StorageLevel.MEMORY)
+                             .build())
                 .withStateMachine(ResourceManagerState::new)
                 .withSerializer(serializer.clone())
                 .withHeartbeatInterval(Duration.ofMillis(25))
@@ -122,7 +125,6 @@
     public void clearTests() throws Exception {
         registry = new LocalServerRegistry();
         members = new ArrayList<>();
-        port = 5000;
 
         CompletableFuture<Void> closeClients =
                 CompletableFuture.allOf(atomixClients.stream()
@@ -165,7 +167,7 @@
     protected AtomixClient createAtomixClient() {
         CountDownLatch latch = new CountDownLatch(1);
         AtomixClient client = AtomixClient.builder()
-                .withTransport(new LocalTransport(registry))
+                .withTransport(NettyTransport.builder().withThreads(1).build())
                 .withSerializer(serializer.clone())
                 .build();
         client.connect(members).thenRun(latch::countDown);