Upgrade to Atomix 3.0-rc5
* Upgrade Raft primitives to Atomix 3.0
* Replace cluster store and messaging implementations with Atomix cluster management/messaging
* Add test scripts for installing/starting Atomix cluster
* Replace core primitives with Atomix primitives.

Change-Id: I7623653c81292a34f21b01f5f38ca11b5ef15cad
diff --git a/lib/BUCK b/lib/BUCK
index 5368870..ac3df89 100644
--- a/lib/BUCK
+++ b/lib/BUCK
@@ -1,4 +1,4 @@
-# ***** This file was auto-generated at Mon, 23 Jul 2018 20:11:01 GMT. Do not edit this file manually. *****
+# ***** This file was auto-generated at Thu, 26 Jul 2018 18:15:49 GMT. Do not edit this file manually. *****
 # ***** Use onos-lib-gen *****
 
 pass_thru_pom(
@@ -196,6 +196,23 @@
   ],
 )
 
+osgi_feature_group(
+  name = 'ATOMIX',
+  visibility = ['PUBLIC'],
+  exported_deps = [
+    ':atomix',
+    ':atomix-cluster',
+    ':atomix-gossip',
+    ':atomix-primary-backup',
+    ':atomix-primitive',
+    ':atomix-raft',
+    ':atomix-storage',
+    ':atomix-utils',
+    ':typesafe-config',
+    ':fast-classpath-scanner',
+  ],
+)
+
 remote_jar (
   name = 'aopalliance-repackaged',
   out = 'aopalliance-repackaged-2.5.0-b42.jar',
@@ -225,10 +242,73 @@
 
 remote_jar (
   name = 'atomix',
-  out = 'atomix-2.0.23.jar',
-  url = 'mvn:io.atomix:atomix:jar:2.0.23',
-  sha1 = '6b41cebf257e0094c2276b6fa589b2c73aff5f99',
-  maven_coords = 'io.atomix:atomix:2.0.23',
+  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',
+  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',
+  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',
+  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',
+  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',
+  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',
+  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',
+  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',
   visibility = [ 'PUBLIC' ],
 )
 
@@ -296,6 +376,15 @@
 )
 
 remote_jar (
+  name = 'fast-classpath-scanner',
+  out = 'fast-classpath-scanner-2.21.jar',
+  url = 'mvn:io.github.lukehutch:fast-classpath-scanner:jar:2.21',
+  sha1 = '0cc8e22b412521480c89ac79194e82bd4471dd75',
+  maven_coords = 'io.github.lukehutch:fast-classpath-scanner:2.21',
+  visibility = [ 'PUBLIC' ],
+)
+
+remote_jar (
   name = 'jdom',
   out = 'jdom-1.0.jar',
   url = 'mvn:jdom:jdom:jar:1.0',
@@ -1215,10 +1304,10 @@
 
 remote_jar (
   name = 'typesafe-config',
-  out = 'config-1.2.1.jar',
-  url = 'mvn:com.typesafe:config:jar:1.2.1',
-  sha1 = 'f771f71fdae3df231bcd54d5ca2d57f0bf93f467',
-  maven_coords = 'com.typesafe:config:1.2.1',
+  out = 'config-1.3.2.jar',
+  url = 'mvn:com.typesafe:config:jar:1.3.2',
+  sha1 = 'd6ac0ce079f114adce620f2360c92a70b2cb36dc',
+  maven_coords = 'com.typesafe:config:1.3.2',
   visibility = [ 'PUBLIC' ],
 )
 
diff --git a/lib/deps.json b/lib/deps.json
index 1402431..58d109b 100644
--- a/lib/deps.json
+++ b/lib/deps.json
@@ -117,6 +117,18 @@
     "REST": [
       "javax.ws.rs-api",
       "//utils/rest:onlab-rest"
+    ],
+    "ATOMIX": [
+      "atomix",
+      "atomix-cluster",
+      "atomix-gossip",
+      "atomix-primary-backup",
+      "atomix-primitive",
+      "atomix-raft",
+      "atomix-storage",
+      "atomix-utils",
+      "typesafe-config",
+      "fast-classpath-scanner"
     ]
   },
 
@@ -124,7 +136,14 @@
     "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:2.0.23",
+    "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",
     "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",
@@ -132,6 +151,7 @@
     "commons-io": "mvn:commons-io:commons-io:2.6",
     "commons-jxpath": "mvn:commons-jxpath:commons-jxpath:1.3",
     "commons-beanutils": "mvn:commons-beanutils:commons-beanutils:1.9.3",
+    "fast-classpath-scanner": "mvn:io.github.lukehutch:fast-classpath-scanner:2.21",
     "jdom": "mvn:jdom:jdom:1.0",
     "commons-lang": "mvn:commons-lang:commons-lang:2.6",
     "commons-lang3": "mvn:org.apache.commons:commons-lang3:3.7",
@@ -234,7 +254,7 @@
     "slf4j-api": "mvn:org.slf4j:slf4j-api:1.7.25",
     "slf4j-jdk14": "mvn:org.slf4j:slf4j-jdk14:1.7.25",
     "slf4j-nop": "mvn:org.slf4j:slf4j-nop:1.7.25",
-    "typesafe-config": "mvn:com.typesafe:config:1.2.1",
+    "typesafe-config": "mvn:com.typesafe:config:1.3.2",
     "validation-api": "mvn:javax.validation:validation-api:1.1.0.Final",
     "checkstyle": "mvn:com.puppycrawl.tools:checkstyle:8.10",
     "apache-karaf": "http://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/3.0.8/apache-karaf-offline-3.0.8.tar.gz",