diff --git a/core/store/primitives/pom.xml b/core/store/primitives/pom.xml
index 68c9d1f..199a1ce 100644
--- a/core/store/primitives/pom.xml
+++ b/core/store/primitives/pom.xml
@@ -69,13 +69,13 @@
         <dependency>
             <groupId>io.atomix</groupId>
             <artifactId>atomix</artifactId>
-            <version>3.0.0-rc5</version>
+            <version>3.0.0-rc7</version>
         </dependency>
 
         <dependency>
             <groupId>io.atomix</groupId>
             <artifactId>atomix-raft</artifactId>
-            <version>3.0.0-rc5</version>
+            <version>3.0.0-rc7</version>
         </dependency>
 
         <dependency>
diff --git a/core/store/primitives/src/main/java/org/onosproject/store/atomix/primitives/impl/AtomixDocumentTree.java b/core/store/primitives/src/main/java/org/onosproject/store/atomix/primitives/impl/AtomixDocumentTree.java
index 1b5974d..1989607 100644
--- a/core/store/primitives/src/main/java/org/onosproject/store/atomix/primitives/impl/AtomixDocumentTree.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/atomix/primitives/impl/AtomixDocumentTree.java
@@ -15,10 +15,13 @@
  */
 package org.onosproject.store.atomix.primitives.impl;
 
+import java.util.List;
 import java.util.Map;
 import java.util.concurrent.CompletableFuture;
 import java.util.stream.Collectors;
 
+import com.google.common.base.Throwables;
+import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import org.onosproject.store.primitives.NodeUpdate;
 import org.onosproject.store.primitives.TransactionId;
@@ -26,6 +29,8 @@
 import org.onosproject.store.service.DocumentPath;
 import org.onosproject.store.service.DocumentTreeEvent;
 import org.onosproject.store.service.DocumentTreeListener;
+import org.onosproject.store.service.IllegalDocumentModificationException;
+import org.onosproject.store.service.NoSuchDocumentPathException;
 import org.onosproject.store.service.TransactionLog;
 import org.onosproject.store.service.Version;
 import org.onosproject.store.service.Versioned;
@@ -72,7 +77,7 @@
 
     @Override
     public CompletableFuture<Boolean> create(DocumentPath path, V value) {
-        return atomixTree.create(toAtomixPath(path), value);
+        return convertException(atomixTree.create(toAtomixPath(path), value));
     }
 
     @Override
@@ -92,7 +97,7 @@
 
     @Override
     public CompletableFuture<Versioned<V>> removeNode(DocumentPath path) {
-        return atomixTree.removeNode(toAtomixPath(path)).thenApply(this::toVersioned);
+        return atomixTree.remove(toAtomixPath(path)).thenApply(this::toVersioned);
     }
 
     @Override
@@ -141,12 +146,35 @@
         throw new UnsupportedOperationException();
     }
 
+    private <T> CompletableFuture<T> convertException(CompletableFuture<T> future) {
+        CompletableFuture<T> newFuture = new CompletableFuture<>();
+        future.whenComplete((result, error) -> {
+            if (error == null) {
+                newFuture.complete(result);
+            } else {
+                Throwable cause = Throwables.getRootCause(error);
+                if (cause instanceof io.atomix.core.tree.NoSuchDocumentPathException) {
+                    newFuture.completeExceptionally(new NoSuchDocumentPathException());
+                } else if (cause instanceof io.atomix.core.tree.IllegalDocumentModificationException) {
+                    newFuture.completeExceptionally(new IllegalDocumentModificationException());
+                } else {
+                    newFuture.completeExceptionally(cause);
+                }
+            }
+        });
+        return newFuture;
+    }
+
     private DocumentPath toOnosPath(io.atomix.core.tree.DocumentPath path) {
-        return DocumentPath.from(path.pathElements());
+        List<String> pathElements = Lists.newArrayList(path.pathElements());
+        pathElements.set(0, DocumentPath.ROOT.pathElements().get(0));
+        return DocumentPath.from(pathElements);
     }
 
     private io.atomix.core.tree.DocumentPath toAtomixPath(DocumentPath path) {
-        return io.atomix.core.tree.DocumentPath.from(path.pathElements());
+        List<String> pathElements = Lists.newArrayList(path.pathElements());
+        pathElements.set(0, "");
+        return io.atomix.core.tree.DocumentPath.from(pathElements);
     }
 
     private Versioned<V> toVersioned(io.atomix.utils.time.Versioned<V> versioned) {
diff --git a/lib/BUCK b/lib/BUCK
index ac3df89..6c8f656 100644
--- a/lib/BUCK
+++ b/lib/BUCK
@@ -1,4 +1,4 @@
-# ***** This file was auto-generated at Thu, 26 Jul 2018 18:15:49 GMT. Do not edit this file manually. *****
+# ***** This file was auto-generated at Fri, 3 Aug 2018 23:34:53 GMT. Do not edit this file manually. *****
 # ***** Use onos-lib-gen *****
 
 pass_thru_pom(
@@ -209,7 +209,7 @@
     ':atomix-storage',
     ':atomix-utils',
     ':typesafe-config',
-    ':fast-classpath-scanner',
+    ':classgraph',
   ],
 )
 
@@ -242,73 +242,82 @@
 
 remote_jar (
   name = 'atomix',
-  out = 'atomix-3.0.0-rc5.jar',
-  url = 'mvn:io.atomix:atomix:jar:3.0.0-rc5',
-  sha1 = '0607a760f048f66645a35bcd8d5cfd96634af622',
-  maven_coords = 'io.atomix:atomix:3.0.0-rc5',
+  out = 'atomix-3.0.0-rc7.jar',
+  url = 'mvn:io.atomix:atomix:jar:3.0.0-rc7',
+  sha1 = 'bf9b83d02375a194a3f41ca8a750f557566e80b9',
+  maven_coords = 'io.atomix:atomix:3.0.0-rc7',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'atomix-cluster',
-  out = 'atomix-cluster-3.0.0-rc5.jar',
-  url = 'mvn:io.atomix:atomix-cluster:jar:3.0.0-rc5',
-  sha1 = '586badbad8e1b7727f260bd53f3c9487eda64191',
-  maven_coords = 'io.atomix:atomix-cluster:3.0.0-rc5',
+  out = 'atomix-cluster-3.0.0-rc7.jar',
+  url = 'mvn:io.atomix:atomix-cluster:jar:3.0.0-rc7',
+  sha1 = '8637229ccddf1dd853377d0da4ae2780c23a739b',
+  maven_coords = 'io.atomix:atomix-cluster:3.0.0-rc7',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'atomix-gossip',
-  out = 'atomix-gossip-3.0.0-rc5.jar',
-  url = 'mvn:io.atomix:atomix-gossip:jar:3.0.0-rc5',
-  sha1 = 'e168926801b01f6d543ef4232c02b1c798c81edf',
-  maven_coords = 'io.atomix:atomix-gossip:3.0.0-rc5',
+  out = 'atomix-gossip-3.0.0-rc7.jar',
+  url = 'mvn:io.atomix:atomix-gossip:jar:3.0.0-rc7',
+  sha1 = 'd9a6f5d61187d9374c70735c74a30979a8f1cb34',
+  maven_coords = 'io.atomix:atomix-gossip:3.0.0-rc7',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'atomix-primary-backup',
-  out = 'atomix-primary-backup-3.0.0-rc5.jar',
-  url = 'mvn:io.atomix:atomix-primary-backup:jar:3.0.0-rc5',
-  sha1 = 'd339992903d53d7608957471ee9c97a45945d730',
-  maven_coords = 'io.atomix:atomix-primary-backup:3.0.0-rc5',
+  out = 'atomix-primary-backup-3.0.0-rc7.jar',
+  url = 'mvn:io.atomix:atomix-primary-backup:jar:3.0.0-rc7',
+  sha1 = '1093dd72377aef05ae7f5c9f21b412c7c541f2ca',
+  maven_coords = 'io.atomix:atomix-primary-backup:3.0.0-rc7',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'atomix-primitive',
-  out = 'atomix-primitive-3.0.0-rc5.jar',
-  url = 'mvn:io.atomix:atomix-primitive:jar:3.0.0-rc5',
-  sha1 = '6606d4619a74b054e58d4478f43616a608803216',
-  maven_coords = 'io.atomix:atomix-primitive:3.0.0-rc5',
+  out = 'atomix-primitive-3.0.0-rc7.jar',
+  url = 'mvn:io.atomix:atomix-primitive:jar:3.0.0-rc7',
+  sha1 = '0c0bbfbc0957561754422092f46fd67c606779ee',
+  maven_coords = 'io.atomix:atomix-primitive:3.0.0-rc7',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'atomix-raft',
-  out = 'atomix-raft-3.0.0-rc5.jar',
-  url = 'mvn:io.atomix:atomix-raft:jar:3.0.0-rc5',
-  sha1 = '07c64d7be64ba81a4b53a55bf29d415db4998132',
-  maven_coords = 'io.atomix:atomix-raft:3.0.0-rc5',
+  out = 'atomix-raft-3.0.0-rc7.jar',
+  url = 'mvn:io.atomix:atomix-raft:jar:3.0.0-rc7',
+  sha1 = '32123b5dc9e465104ccfa44c3593ce7bbb4cd84c',
+  maven_coords = 'io.atomix:atomix-raft:3.0.0-rc7',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'atomix-storage',
-  out = 'atomix-storage-3.0.0-rc5.jar',
-  url = 'mvn:io.atomix:atomix-storage:jar:3.0.0-rc5',
-  sha1 = '2e093d7d42de9cdf274675358a17c76e1fd36a5e',
-  maven_coords = 'io.atomix:atomix-storage:3.0.0-rc5',
+  out = 'atomix-storage-3.0.0-rc7.jar',
+  url = 'mvn:io.atomix:atomix-storage:jar:3.0.0-rc7',
+  sha1 = 'c1ccaba461ca6ea0a7c49bd90b6cf404d5f7070d',
+  maven_coords = 'io.atomix:atomix-storage:3.0.0-rc7',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'atomix-utils',
-  out = 'atomix-utils-3.0.0-rc5.jar',
-  url = 'mvn:io.atomix:atomix-utils:jar:3.0.0-rc5',
-  sha1 = '3435cf4ad6abfa85db210366bcaf0c6ac0ae7ec2',
-  maven_coords = 'io.atomix:atomix-utils:3.0.0-rc5',
+  out = 'atomix-utils-3.0.0-rc7.jar',
+  url = 'mvn:io.atomix:atomix-utils:jar:3.0.0-rc7',
+  sha1 = 'f403c1dd496568931dde1ba498a65aa67c1d5ef1',
+  maven_coords = 'io.atomix:atomix-utils:3.0.0-rc7',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
+  name = 'classgraph',
+  out = 'classgraph-4.0.3.jar',
+  url = 'mvn:io.github.classgraph:classgraph:jar:4.0.3',
+  sha1 = '693dc837e0dbb19581753457848de58c18e78c60',
+  maven_coords = 'io.github.classgraph:classgraph:4.0.3',
   visibility = [ 'PUBLIC' ],
 )
 
diff --git a/lib/deps.json b/lib/deps.json
index 58d109b..a5a6b5f 100644
--- a/lib/deps.json
+++ b/lib/deps.json
@@ -128,7 +128,7 @@
       "atomix-storage",
       "atomix-utils",
       "typesafe-config",
-      "fast-classpath-scanner"
+      "classgraph"
     ]
   },
 
@@ -136,14 +136,15 @@
     "aopalliance-repackaged": "mvn:org.glassfish.hk2.external:aopalliance-repackaged:2.5.0-b42",
     "amqp-client": "mvn:com.rabbitmq:amqp-client:jar:3.6.1",
     "asm": "mvn:org.ow2.asm:asm:5.0.4",
-    "atomix": "mvn:io.atomix:atomix:3.0.0-rc5",
-    "atomix-cluster": "mvn:io.atomix:atomix-cluster:3.0.0-rc5",
-    "atomix-gossip": "mvn:io.atomix:atomix-gossip:3.0.0-rc5",
-    "atomix-primary-backup": "mvn:io.atomix:atomix-primary-backup:3.0.0-rc5",
-    "atomix-primitive": "mvn:io.atomix:atomix-primitive:3.0.0-rc5",
-    "atomix-raft": "mvn:io.atomix:atomix-raft:3.0.0-rc5",
-    "atomix-storage": "mvn:io.atomix:atomix-storage:3.0.0-rc5",
-    "atomix-utils": "mvn:io.atomix:atomix-utils:3.0.0-rc5",
+    "atomix": "mvn:io.atomix:atomix:3.0.0-rc7",
+    "atomix-cluster": "mvn:io.atomix:atomix-cluster:3.0.0-rc7",
+    "atomix-gossip": "mvn:io.atomix:atomix-gossip:3.0.0-rc7",
+    "atomix-primary-backup": "mvn:io.atomix:atomix-primary-backup:3.0.0-rc7",
+    "atomix-primitive": "mvn:io.atomix:atomix-primitive:3.0.0-rc7",
+    "atomix-raft": "mvn:io.atomix:atomix-raft:3.0.0-rc7",
+    "atomix-storage": "mvn:io.atomix:atomix-storage:3.0.0-rc7",
+    "atomix-utils": "mvn:io.atomix:atomix-utils:3.0.0-rc7",
+    "classgraph": "mvn:io.github.classgraph:classgraph:4.0.3",
     "commons-codec": "mvn:commons-codec:commons-codec:1.10",
     "commons-cli": "mvn:commons-cli:commons-cli:1.3",
     "commons-collections": "mvn:commons-collections:commons-collections:3.2.2",
diff --git a/tools/build/bazel/generate_workspace.bzl b/tools/build/bazel/generate_workspace.bzl
index 744598a..ef843ac 100644
--- a/tools/build/bazel/generate_workspace.bzl
+++ b/tools/build/bazel/generate_workspace.bzl
@@ -1,4 +1,4 @@
-# ***** This file was auto-generated at Thu, 26 Jul 2018 18:15:57 GMT. Do not edit this file manually. *****
+# ***** This file was auto-generated at Fri, 3 Aug 2018 23:35:01 GMT. Do not edit this file manually. *****
 # ***** Use onos-lib-gen *****
 
 load("//tools/build/bazel:variables.bzl", "ONOS_GROUP_ID", "ONOS_VERSION")
@@ -128,7 +128,7 @@
     "@atomix_storage//jar",
     "@atomix_utils//jar",
     "@typesafe_config//jar",
-    "@fast_classpath_scanner//jar",
+    "@classgraph//jar",
 ]
 
 def generated_maven_jars():
@@ -152,50 +152,56 @@
 
     native.maven_jar(
         name = "atomix",
-        artifact = "io.atomix:atomix:3.0.0-rc5",
-        sha1 = "0607a760f048f66645a35bcd8d5cfd96634af622",
+        artifact = "io.atomix:atomix:3.0.0-rc7",
+        sha1 = "bf9b83d02375a194a3f41ca8a750f557566e80b9",
     )
 
     native.maven_jar(
         name = "atomix_cluster",
-        artifact = "io.atomix:atomix-cluster:3.0.0-rc5",
-        sha1 = "586badbad8e1b7727f260bd53f3c9487eda64191",
+        artifact = "io.atomix:atomix-cluster:3.0.0-rc7",
+        sha1 = "8637229ccddf1dd853377d0da4ae2780c23a739b",
     )
 
     native.maven_jar(
         name = "atomix_gossip",
-        artifact = "io.atomix:atomix-gossip:3.0.0-rc5",
-        sha1 = "e168926801b01f6d543ef4232c02b1c798c81edf",
+        artifact = "io.atomix:atomix-gossip:3.0.0-rc7",
+        sha1 = "d9a6f5d61187d9374c70735c74a30979a8f1cb34",
     )
 
     native.maven_jar(
         name = "atomix_primary_backup",
-        artifact = "io.atomix:atomix-primary-backup:3.0.0-rc5",
-        sha1 = "d339992903d53d7608957471ee9c97a45945d730",
+        artifact = "io.atomix:atomix-primary-backup:3.0.0-rc7",
+        sha1 = "1093dd72377aef05ae7f5c9f21b412c7c541f2ca",
     )
 
     native.maven_jar(
         name = "atomix_primitive",
-        artifact = "io.atomix:atomix-primitive:3.0.0-rc5",
-        sha1 = "6606d4619a74b054e58d4478f43616a608803216",
+        artifact = "io.atomix:atomix-primitive:3.0.0-rc7",
+        sha1 = "0c0bbfbc0957561754422092f46fd67c606779ee",
     )
 
     native.maven_jar(
         name = "atomix_raft",
-        artifact = "io.atomix:atomix-raft:3.0.0-rc5",
-        sha1 = "07c64d7be64ba81a4b53a55bf29d415db4998132",
+        artifact = "io.atomix:atomix-raft:3.0.0-rc7",
+        sha1 = "32123b5dc9e465104ccfa44c3593ce7bbb4cd84c",
     )
 
     native.maven_jar(
         name = "atomix_storage",
-        artifact = "io.atomix:atomix-storage:3.0.0-rc5",
-        sha1 = "2e093d7d42de9cdf274675358a17c76e1fd36a5e",
+        artifact = "io.atomix:atomix-storage:3.0.0-rc7",
+        sha1 = "c1ccaba461ca6ea0a7c49bd90b6cf404d5f7070d",
     )
 
     native.maven_jar(
         name = "atomix_utils",
-        artifact = "io.atomix:atomix-utils:3.0.0-rc5",
-        sha1 = "3435cf4ad6abfa85db210366bcaf0c6ac0ae7ec2",
+        artifact = "io.atomix:atomix-utils:3.0.0-rc7",
+        sha1 = "f403c1dd496568931dde1ba498a65aa67c1d5ef1",
+    )
+
+    native.maven_jar(
+        name = "classgraph",
+        artifact = "io.github.classgraph:classgraph:4.0.3",
+        sha1 = "693dc837e0dbb19581753457848de58c18e78c60",
     )
 
     native.maven_jar(
@@ -1287,6 +1293,12 @@
     )
 
     native.java_library(
+        name = "classgraph",
+        visibility = ["//visibility:public"],
+        exports = ["@classgraph//jar"],
+    )
+
+    native.java_library(
         name = "commons_codec",
         visibility = ["//visibility:public"],
         exports = ["@commons_codec//jar"],
@@ -2298,14 +2310,15 @@
 artifact_map["@aopalliance_repackaged//jar"] = "mvn:org.glassfish.hk2.external:aopalliance-repackaged:jar:2.5.0-b42"
 artifact_map["@amqp_client//jar"] = "mvn:com.rabbitmq:amqp-client:jar:3.6.1"
 artifact_map["@asm//jar"] = "mvn:org.ow2.asm:asm:jar:5.0.4"
-artifact_map["@atomix//jar"] = "mvn:io.atomix:atomix:jar:3.0.0-rc5"
-artifact_map["@atomix_cluster//jar"] = "mvn:io.atomix:atomix-cluster:jar:3.0.0-rc5"
-artifact_map["@atomix_gossip//jar"] = "mvn:io.atomix:atomix-gossip:jar:3.0.0-rc5"
-artifact_map["@atomix_primary_backup//jar"] = "mvn:io.atomix:atomix-primary-backup:jar:3.0.0-rc5"
-artifact_map["@atomix_primitive//jar"] = "mvn:io.atomix:atomix-primitive:jar:3.0.0-rc5"
-artifact_map["@atomix_raft//jar"] = "mvn:io.atomix:atomix-raft:jar:3.0.0-rc5"
-artifact_map["@atomix_storage//jar"] = "mvn:io.atomix:atomix-storage:jar:3.0.0-rc5"
-artifact_map["@atomix_utils//jar"] = "mvn:io.atomix:atomix-utils:jar:3.0.0-rc5"
+artifact_map["@atomix//jar"] = "mvn:io.atomix:atomix:jar:3.0.0-rc7"
+artifact_map["@atomix_cluster//jar"] = "mvn:io.atomix:atomix-cluster:jar:3.0.0-rc7"
+artifact_map["@atomix_gossip//jar"] = "mvn:io.atomix:atomix-gossip:jar:3.0.0-rc7"
+artifact_map["@atomix_primary_backup//jar"] = "mvn:io.atomix:atomix-primary-backup:jar:3.0.0-rc7"
+artifact_map["@atomix_primitive//jar"] = "mvn:io.atomix:atomix-primitive:jar:3.0.0-rc7"
+artifact_map["@atomix_raft//jar"] = "mvn:io.atomix:atomix-raft:jar:3.0.0-rc7"
+artifact_map["@atomix_storage//jar"] = "mvn:io.atomix:atomix-storage:jar:3.0.0-rc7"
+artifact_map["@atomix_utils//jar"] = "mvn:io.atomix:atomix-utils:jar:3.0.0-rc7"
+artifact_map["@classgraph//jar"] = "mvn:io.github.classgraph:classgraph:jar:4.0.3"
 artifact_map["@commons_codec//jar"] = "mvn:commons-codec:commons-codec:jar:1.10"
 artifact_map["@commons_cli//jar"] = "mvn:commons-cli:commons-cli:jar:1.3"
 artifact_map["@commons_collections//jar"] = "mvn:commons-collections:commons-collections:jar:3.2.2"
diff --git a/tools/package/features/BUCK b/tools/package/features/BUCK
index 8bbf94a..4b5ecd7 100644
--- a/tools/package/features/BUCK
+++ b/tools/package/features/BUCK
@@ -11,6 +11,7 @@
     '//lib:atomix-raft',
     '//lib:atomix-storage',
     '//lib:atomix-utils',
+    '//lib:classgraph',
     '//lib:commons-lang',
     '//lib:commons-lang3',
     '//lib:commons-text',
diff --git a/tools/package/features/features.xml b/tools/package/features/features.xml
index 1c49602..1edc57f 100644
--- a/tools/package/features/features.xml
+++ b/tools/package/features/features.xml
@@ -59,16 +59,17 @@
         <bundle>mvn:com.typesafe/config/1.3.2</bundle>
         <bundle>mvn:com.googlecode.concurrent-trees/concurrent-trees/2.6.0</bundle>
         <bundle>mvn:commons-io/commons-io/2.4</bundle>
-        <bundle>mvn:io.atomix/atomix/3.0.0-rc5</bundle>
-        <bundle>mvn:io.atomix/atomix-cluster/3.0.0-rc5</bundle>
-        <bundle>mvn:io.atomix/atomix-gossip/3.0.0-rc5</bundle>
-        <bundle>mvn:io.atomix/atomix-primary-backup/3.0.0-rc5</bundle>
-        <bundle>mvn:io.atomix/atomix-primitive/3.0.0-rc5</bundle>
-        <bundle>mvn:io.atomix/atomix-raft/3.0.0-rc5</bundle>
-        <bundle>mvn:io.atomix/atomix-storage/3.0.0-rc5</bundle>
-        <bundle>mvn:io.atomix/atomix-utils/3.0.0-rc5</bundle>
+        <bundle>mvn:io.atomix/atomix/3.0.0-rc7</bundle>
+        <bundle>mvn:io.atomix/atomix-cluster/3.0.0-rc7</bundle>
+        <bundle>mvn:io.atomix/atomix-gossip/3.0.0-rc7</bundle>
+        <bundle>mvn:io.atomix/atomix-primary-backup/3.0.0-rc7</bundle>
+        <bundle>mvn:io.atomix/atomix-primitive/3.0.0-rc7</bundle>
+        <bundle>mvn:io.atomix/atomix-raft/3.0.0-rc7</bundle>
+        <bundle>mvn:io.atomix/atomix-storage/3.0.0-rc7</bundle>
+        <bundle>mvn:io.atomix/atomix-utils/3.0.0-rc7</bundle>
 
         <bundle>mvn:com.typesafe/config/1.3.2</bundle>
+        <bundle>mvn:io.github.classgraph/classgraph/4.0.3</bundle>
         <bundle>mvn:io.github.lukehutch/fast-classpath-scanner/2.21</bundle>
 
         <bundle>mvn:org.glassfish.jersey.core/jersey-client/2.26</bundle>
diff --git a/tools/test/bin/atomix-config b/tools/test/bin/atomix-config
index d5841f7..f7decba 100755
--- a/tools/test/bin/atomix-config
+++ b/tools/test/bin/atomix-config
@@ -37,5 +37,5 @@
 scp -q $CDEF_FILE $remote:$ATOMIX_INSTALL_DIR/atomix.json
 
 ssh -tt $ONOS_USER@$node "
-    echo \"cd $ATOMIX_INSTALL_DIR && java -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -cp .:$ATOMIX_INSTALL_DIR/atomix.json:$ATOMIX_INSTALL_DIR/atomix-agent.jar -Datomix.logging.level=DEBUG io.atomix.agent.AtomixAgent\" > $ATOMIX_INSTALL_DIR/atomix && sudo chmod u+x $ATOMIX_INSTALL_DIR/atomix
+    sed -i -e $'s/<logger name=\"io.atomix\" level=\"INFO\" \/>/<logger name=\"io.atomix\" level=\"INFO\" \/>\\\n    <logger name=\"io.atomix.protocols.raft\" level=\"DEBUG\" \/>/g' /opt/atomix/conf/logback.xml
 "
diff --git a/tools/test/bin/atomix-install b/tools/test/bin/atomix-install
index 2a361b1..6627c98 100755
--- a/tools/test/bin/atomix-install
+++ b/tools/test/bin/atomix-install
@@ -44,10 +44,11 @@
 remote=$ONOS_USER@$node
 
 ssh -tt $remote "
-    [ -f $ATOMIX_INSTALL_DIR/atomix-agent.jar ] && echo \"Atomix is already installed\" && exit 1
+    [ -f $ATOMIX_INSTALL_DIR/bin/atomix-agent ] && echo \"Atomix is already installed\" && exit 1
 
     sudo mkdir -p $ATOMIX_INSTALL_DIR && sudo chown ${ONOS_USER}:${ONOS_GROUP} $ATOMIX_INSTALL_DIR
-    sudo wget -O $ATOMIX_INSTALL_DIR/atomix-agent.jar https://oss.sonatype.org/content/repositories/releases/io/atomix/atomix-agent/3.0.0-rc4/atomix-agent-3.0.0-rc4-shaded.jar
+    sudo wget -O $ATOMIX_INSTALL_DIR/atomix-dist.tar.gz https://oss.sonatype.org/content/repositories/releases/io/atomix/atomix-dist/3.0.0-rc7/atomix-dist-3.0.0-rc7.tar.gz
+    tar -xvf $ATOMIX_INSTALL_DIR/atomix-dist.tar.gz -C $ATOMIX_INSTALL_DIR
 "
 
 # Configure the ONOS installation
diff --git a/tools/test/bin/atomix-service b/tools/test/bin/atomix-service
index 0c70b0f..1da285b 100755
--- a/tools/test/bin/atomix-service
+++ b/tools/test/bin/atomix-service
@@ -43,14 +43,14 @@
     start)
         # Execute the remote commands
         for node in $nodes; do
-            ssh $ONOS_USER@${node} "nohup $ATOMIX_INSTALL_DIR/atomix >> $ATOMIX_INSTALL_DIR/log 2>&1 &"
+            ssh $ONOS_USER@${node} "nohup $ATOMIX_INSTALL_DIR/bin/atomix-agent -c $ATOMIX_INSTALL_DIR/atomix.json >/dev/null 2>&1 &"
         done
     ;;
     stop)
         # Execute the remote commands
         for node in $nodes; do
             ssh -tt $ONOS_USER@${node} "
-                pid=\$(ps -ef | grep atomix-agent.jar | grep -v grep | cut -c10-15 | tr -d ' ')
+                pid=\$(ps -ef | grep atomix | grep -v grep | cut -c10-15 | tr -d ' ')
                 if [ -n \"\$pid\" ]; then
                     echo \"Killing Atomix process \$pid on \$(hostname)...\"
                     kill -9 \$pid
diff --git a/tools/test/bin/atomix-uninstall b/tools/test/bin/atomix-uninstall
index c1ca86d..eb42d95 100755
--- a/tools/test/bin/atomix-uninstall
+++ b/tools/test/bin/atomix-uninstall
@@ -27,7 +27,7 @@
 remote=$ONOS_USER@${1:-$OCI}
 
 ssh -tt $remote "
-    pid=\$(ps -ef | grep atomix-agent.jar | grep -v grep | cut -c10-15 | tr -d ' ')
+    pid=\$(ps -ef | grep atomix | grep -v grep | cut -c10-15 | tr -d ' ')
     if [ -n \"\$pid\" ]; then
         echo \"Killing Atomix process \$pid on \$(hostname)...\"
         kill -9 \$pid
