You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ratis.apache.org by sz...@apache.org on 2022/02/03 10:24:50 UTC

[ratis-hadoop-projects] branch main updated: RATIS-1518. Update POM and scripts (#3)

This is an automated email from the ASF dual-hosted git repository.

szetszwo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ratis-hadoop-projects.git


The following commit(s) were added to refs/heads/main by this push:
     new 5ddd36b  RATIS-1518. Update POM and scripts (#3)
5ddd36b is described below

commit 5ddd36b12919b961e1a2c6c0cc63e1ad6fac38ea
Author: Doroszlai, Attila <64...@users.noreply.github.com>
AuthorDate: Thu Feb 3 11:24:44 2022 +0100

    RATIS-1518. Update POM and scripts (#3)
---
 dev-support/ci/README.md                           |  40 --
 dev-support/ci/common.sh                           |  38 --
 dev-support/ci/nightly-build.sh                    |  47 ---
 dev-support/ci/precommit-build.sh                  |  49 ---
 dev-support/make_rc.sh                             |  16 +-
 dev-support/test-patch                             |  18 -
 dev-support/vagrant/.gitignore                     |   5 -
 dev-support/vagrant/README.md                      |  52 ---
 dev-support/vagrant/Vagrantfile                    | 197 ----------
 dev-support/vagrant/bin/start_ratis_load_gen.sh    |  31 --
 dev-support/vagrant/bin/start_ratis_server.sh      |  27 --
 dev-support/vagrant/docs/vagrantfile.bpmn          | 420 ---------------------
 dev-support/vagrant/docs/vagrantfile_bpmn.svg      |  17 -
 dev-support/vagrant/namazu_configs/hdd_config.toml |  26 --
 dev-support/vagrant/run_all_tests.sh               |  66 ----
 dev-support/vagrant/screenrcs/namazu_hdd_screenrc  |  32 --
 .../screenrcs/ratis_ratis-hdd-slowdown_screenrc    |  33 --
 .../vagrant/screenrcs/ratis_ratis-server_screenrc  |  33 --
 dev-support/yetus-personality.sh                   |  46 ---
 dev-support/yetus-wrapper                          | 178 ---------
 pom.xml                                            |  59 +--
 ratis-assembly/src/main/assembly/examples-bin.xml  |  86 -----
 ratis-assembly/src/main/assembly/shell-bin.xml     |  65 ----
 .../pom.xml                                        | 124 +-----
 .../src/main/assembly/bin.xml                      |  22 +-
 .../src/main/assembly/src.xml                      |  17 +-
 .../src/main/resources/LICENSE                     |   0
 .../src/main/resources/NOTICE                      |   0
 .../src/main/resources/README.md                   |   0
 .../pom.xml                                        |   8 +-
 .../src/main/resources/META-INF/LICENSE.vm         |   2 +-
 .../src/main/resources/META-INF/NOTICE.vm          |   0
 .../src/main/resources/supplemental-models.xml     |   0
 ratis-hadoop/pom.xml                               |   2 +-
 ratis-logservice/pom.xml                           |   2 +-
 35 files changed, 36 insertions(+), 1722 deletions(-)

diff --git a/dev-support/ci/README.md b/dev-support/ci/README.md
deleted file mode 100644
index b306e7f..0000000
--- a/dev-support/ci/README.md
+++ /dev/null
@@ -1,40 +0,0 @@
-<!--
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License. See accompanying LICENSE file.
--->
-
-RATIS CI scripts
-----------------
-
-These scripts are called from jenkins for ratis pre-commit and nightly build jobs.
-
-On jenkins, the repository is checked out to a subdirectory (sourcedir) and the script is called from the parent directory which is also used to store temporary files (yetus/out/...).
-
-IT'S NOT RECOMMENDED to run it locally unless you know what could be expected. The script runs in sentinel/robot mode, so:
-
- * Old docker images are removed by the script
- * Local commits are removed by the script
-
-
-## Running locally
-
-To test the jenkins build locally:
-
- 1. create a new directory
- 2. Clone the ratis repository to a subdirectory: `git clone git://github.com/apache/ratis.git sourcedir`
- 3. Run the script fro the parent directory ./sourcedir/dev-support/ci/nightly-build.sh
-
-For nightly-build.sh you can set the BRANCH environment variable to define which branch should be tested.
-
-For precommit-build.sh you should set ISSUE_NUM (eg. 122, RATIS prefix should not be added).
-
-The variables are set by the jenkins.
diff --git a/dev-support/ci/common.sh b/dev-support/ci/common.sh
deleted file mode 100644
index a786524..0000000
--- a/dev-support/ci/common.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/env bash
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-
-#Workspace is set by the jenkins, by default (local run) is the parent directory of the checkout.
-WORKSPACE=${WORKSPACE:-$DIR/../../..}
-cd $WORKSPACE
-
-YETUSDIR=${WORKSPACE}/yetus
-TESTPATCHBIN=${YETUSDIR}/bin/test-patch
-ARTIFACTS=${WORKSPACE}/out
-BASEDIR=${WORKSPACE}/sourcedir
-TOOLS=${WORKSPACE}/tools
-rm -rf "${ARTIFACTS}" "${YETUSDIR}"
-mkdir -p "${ARTIFACTS}" "${YETUSDIR}" "${TOOLS}"
-
-#It's not on all the branches, so we need to copy it from the checkout out source
-cp $BASEDIR/dev-support/yetus-personality.sh $WORKSPACE/
-cp $BASEDIR/dev-support/docker/Dockerfile $WORKSPACE/
-
-YETUS_VERSION=${YETUS_VERSION:-0.8.0}
-echo "Downloading Yetus"
-curl -L https://archive.apache.org/dist/yetus/${YETUS_VERSION}/yetus-${YETUS_VERSION}-bin.tar.gz -o yetus.tar.gz
-gunzip -c yetus.tar.gz | tar xpf - -C "${YETUSDIR}" --strip-components 1
diff --git a/dev-support/ci/nightly-build.sh b/dev-support/ci/nightly-build.sh
deleted file mode 100644
index ff11058..0000000
--- a/dev-support/ci/nightly-build.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/bin/env bash
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-source $DIR/common.sh
-
-YETUS_ARGS+=("--archive-list=checkstyle-errors.xml,findbugsXml.xml")
-YETUS_ARGS+=("--basedir=${BASEDIR}")
-YETUS_ARGS+=("--branch=${BRANCH:-master}")
-YETUS_ARGS+=("--brief-report-file=${ARTIFACTS}/email-report.txt")
-YETUS_ARGS+=("--build-url-artifacts=artifact/out")
-YETUS_ARGS+=("--console-report-file=${ARTIFACTS}/console-report.txt")
-YETUS_ARGS+=("--console-urls")
-YETUS_ARGS+=("--docker")
-YETUS_ARGS+=("--dockerfile=${WORKSPACE}/Dockerfile")
-YETUS_ARGS+=("--dockermemlimit=20g")
-YETUS_ARGS+=("--empty-patch")
-YETUS_ARGS+=("--html-report-file=${ARTIFACTS}/console-report.html")
-YETUS_ARGS+=("--java-home=/usr/lib/jvm/java-8-openjdk-amd64")
-YETUS_ARGS+=("--jenkins")
-YETUS_ARGS+=("--mvn-custom-repos")
-YETUS_ARGS+=("--patch-dir=${ARTIFACTS}")
-YETUS_ARGS+=("--plugins=all,-author")
-YETUS_ARGS+=("--proclimit=5000")
-YETUS_ARGS+=("--project=ratis")
-YETUS_ARGS+=("--personality=${WORKSPACE}/yetus-personality.sh")
-YETUS_ARGS+=("--resetrepo")
-YETUS_ARGS+=("--sentinel")
-YETUS_ARGS+=("--shelldocs=/testptch/hadoop/dev-support/bin/shelldocs")
-YETUS_ARGS+=("--tests-filter=cc,checkstyle,javac,javadoc,pylint,shellcheck,shelldocs,whitespace")
-
-TESTPATCHBIN=${YETUSDIR}/bin/test-patch
-
-/bin/bash ${TESTPATCHBIN} "${YETUS_ARGS[@]}"
diff --git a/dev-support/ci/precommit-build.sh b/dev-support/ci/precommit-build.sh
deleted file mode 100644
index 7cae44f..0000000
--- a/dev-support/ci/precommit-build.sh
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/usr/bin/env bash
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-source $DIR/common.sh
-
-YETUS_ARGS+=("--archive-list=checkstyle-errors.xml,findbugsXml.xml")
-YETUS_ARGS+=("--basedir=${BASEDIR}")
-YETUS_ARGS+=("--brief-report-file=${ARTIFACTS}/email-report.txt")
-YETUS_ARGS+=("--build-url-artifacts=artifact/out")
-YETUS_ARGS+=("--console-report-file=${ARTIFACTS}/console-report.txt")
-YETUS_ARGS+=("--console-urls")
-YETUS_ARGS+=("--docker")
-YETUS_ARGS+=("--dockerfile=${WORKSPACE}/Dockerfile")
-YETUS_ARGS+=("--dockermemlimit=20g")
-YETUS_ARGS+=("--findbugs-strict-precheck")
-YETUS_ARGS+=("--html-report-file=${ARTIFACTS}/console-report.html")
-YETUS_ARGS+=("--jenkins")
-YETUS_ARGS+=("--jira-password=${JIRA_PASSWORD}")
-YETUS_ARGS+=("--jira-user=hadoopqa")
-YETUS_ARGS+=("--multijdkdirs=/usr/lib/jvm/java-8-oracle")
-YETUS_ARGS+=("--mvn-custom-repos")
-YETUS_ARGS+=("--patch-dir=${ARTIFACTS}")
-YETUS_ARGS+=("--project=ratis")
-YETUS_ARGS+=("--personality=${WORKSPACE}/yetus-personality.sh")
-YETUS_ARGS+=("--proclimit=5000")
-YETUS_ARGS+=("--resetrepo")
-YETUS_ARGS+=("--sentinel")
-YETUS_ARGS+=("--shelldocs=/testptch/hadoop/dev-support/bin/shelldocs")
-YETUS_ARGS+=("--skip-dir=dev-support")
-YETUS_ARGS+=("--tests-filter=checkstyle,pylint,shelldocs")
-
-YETUS_ARGS+=("RATIS-${ISSUE_NUM}")
-
-
-/bin/bash ${TESTPATCHBIN} "${YETUS_ARGS[@]}"
diff --git a/dev-support/make_rc.sh b/dev-support/make_rc.sh
index a11dd9d..4bedb3c 100755
--- a/dev-support/make_rc.sh
+++ b/dev-support/make_rc.sh
@@ -45,7 +45,7 @@ mvnGet() {
 # Check project name
 projectname=$(mvnGet project.name)
 projectversion=$(mvnGet project.version)
-if [ "${projectname}" = "Apache Ratis" ]; then
+if [ "${projectname}" = "Apache Ratis Hadoop Projects" ]; then
   echo
   echo "Prepare release artifacts for $projectname ${projectversion}"
   echo
@@ -101,8 +101,8 @@ prepare-src() {
   git commit -a -m "Change version for the version $RATISVERSION $RC"
 
   git config user.signingkey "${CODESIGNINGKEY}"
-  git tag -s -m "Release $RATISVERSION $RC" ratis-"${RATISVERSION}${RC}"
-  git reset --hard ratis-"${RATISVERSION}${RC}"
+  git tag -s -m "Release $RATISVERSION $RC" ratis-hadoop-projects-"${RATISVERSION}${RC}"
+  git reset --hard ratis-hadoop-projects-"${RATISVERSION}${RC}"
 
   git clean -fdx
 
@@ -116,8 +116,8 @@ prepare-bin() {
   rm -rf "$WORKINGDIR"
   mkdir -p "$WORKINGDIR"
   cd "$WORKINGDIR"
-  tar zvxf "$projectdir/ratis-assembly/target/apache-ratis-${RATISVERSION}-src.tar.gz"
-  cd "apache-ratis-${RATISVERSION}"
+  tar zvxf "$projectdir/ratis-hadoop-projects-assembly/target/apache-ratis-hadoop-projects-${RATISVERSION}-src.tar.gz"
+  cd "apache-ratis-hadoop-projects-${RATISVERSION}"
 
   mvnFun clean install assembly:single -DskipTests=true  -Prelease -Papache-release -Dgpg.keyname="${CODESIGNINGKEY}"
 }
@@ -127,8 +127,8 @@ assembly() {
   RCDIR="$SVNDISTDIR/${RATISVERSION}/${RC#-}"
   mkdir -p "$RCDIR"
   cd "$RCDIR"
-  cp "$WORKINGDIR/apache-ratis-${RATISVERSION}/ratis-assembly/target/apache-ratis-${RATISVERSION}-bin.tar.gz" "apache-ratis-${RATISVERSION}-bin.tar.gz"
-  cp "$projectdir/ratis-assembly/target/apache-ratis-${RATISVERSION}-src.tar.gz" "apache-ratis-${RATISVERSION}-src.tar.gz"
+  cp "$WORKINGDIR/apache-ratis-hadoop-projects-${RATISVERSION}/ratis-hadoop-projects-assembly/target/apache-ratis-hadoop-projects-${RATISVERSION}-bin.tar.gz" "apache-ratis-hadoop-projects-${RATISVERSION}-bin.tar.gz"
+  cp "$projectdir/ratis-hadoop-projects-assembly/target/apache-ratis-hadoop-projects-${RATISVERSION}-src.tar.gz" "apache-ratis-hadoop-projects-${RATISVERSION}-src.tar.gz"
   for i in *.tar.gz; do gpg  -u "${CODESIGNINGKEY}" --armor --output "${i}.asc" --detach-sig "${i}"; done
   for i in *.tar.gz; do gpg --print-md SHA512 "${i}" > "${i}.sha512"; done
   for i in *.tar.gz; do gpg --print-mds "${i}" > "${i}.mds"; done
@@ -138,7 +138,7 @@ assembly() {
 
 publish-git(){
   cd "$projectdir"
-  git push apache "ratis-${RATISVERSION}${RC}"
+  git push apache "ratis-hadoop-projects-${RATISVERSION}${RC}"
 }
 
 publish-svn() {
diff --git a/dev-support/test-patch b/dev-support/test-patch
deleted file mode 100644
index 25d9d81..0000000
--- a/dev-support/test-patch
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env bash
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-BINDIR=$(cd -P -- "$(dirname -- "${BASH_SOURCE-0}")" >/dev/null && pwd -P)
-exec "${BINDIR}/yetus-wrapper" test-patch --project=ratis --dockerfile="$BINDIR/docker/Dockerfile" --personality=$BINDIR/yetus-personality.sh --skip-dir=dev-support "$@"
diff --git a/dev-support/vagrant/.gitignore b/dev-support/vagrant/.gitignore
deleted file mode 100644
index 6bf78c5..0000000
--- a/dev-support/vagrant/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-.*.sw*
-*~
-*.box
-*.log
-.vagrant
diff --git a/dev-support/vagrant/README.md b/dev-support/vagrant/README.md
deleted file mode 100644
index dcb3195..0000000
--- a/dev-support/vagrant/README.md
+++ /dev/null
@@ -1,52 +0,0 @@
-<!--
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License. See accompanying LICENSE file.
--->
-# What is this?
-
-This is a series of scripts for [Vagrant](https://vagrantup.com) to stand-up and test [Apache Ratis](https://ratis.apache.org/) servers and clients. One needs to have Vagrant and [VirtualBox](https://virtualbox.org) installed to stand-up these tests environments.
-
-# What is provided?
-
-This provides a multi-host `Vagrantfile` which provides the following described VM's:
-
-## `ratis-build` VM
-This provides a built version of Ratis with the [Namazu](https://github.com/osrg/namazu) test framework as well
-
-## `ratis-servers` VM
-This leverages the built Ratis servers to run a three server cluster and load generator. The Ratis servers are listening on ports 6000, 6001, 6002. The four processes are started and daemonized using [GNU Screen](https://www.gnu.org/software/screen/). The daemons further log to files in the home directory of the test user.
-
-## `ratis-hdd-slowdown` VM
-This VM starts the three Ratis servers and load genearator as the `ratis-servers` VM. However, the three servers contend with their storage directories made pathological (slow and error-prone) by Namazu. The configuration of pathology in namazu can be tuned in [hdd_config.toml](./namazu_configs/hdd_config.toml).
-
-The test VM's can be stoped and all daemons restarted via: `vagrant up --provision <VM name>`
-One can login to the VM and read the message-of-the-day for instructions on how to read the daemon logs; or connect to the Screen session.
-
-# How to get started:
-There is a shell script `run_all_tests.sh` which provides a single entrypoint for building or cleaning up all tests.
-To visualize the flow of building all tests, a BPMN diagram of the intended process flow is: ![Vagrantfile BPMN Flow][Vagrantfile_BPMN]
-
-Execute `run_all_tests.sh` with option `build`:
-* Builds the `ratis-build` VM
-* Packages a [Vagrant box](https://www.vagrantup.com/docs/boxes.html) to build test VMs off of
-* Builds all test VMs and suspends them on success
-
-Execute `run_all_tests.sh` with option `clean`:
-* Destroys all test VMs
-* Destroys the `ratis-build` VM
-* Removes the `ratis-test` from Vagrant
-* Removes the `ratistest.box` from the local file-system
-
-Run the tests for a machine with `vagrant resume`:
-* e.g. `vagrant resume ratis-servers && vagrant ssh ratis-servers`
-
-[Vagrantfile_BPMN]: ./docs/vagrantfile_bpmn.svg "Vagrantfile Steps in BPMN (created with https://demo.bpmn.io)"
diff --git a/dev-support/vagrant/Vagrantfile b/dev-support/vagrant/Vagrantfile
deleted file mode 100644
index 692e121..0000000
--- a/dev-support/vagrant/Vagrantfile
+++ /dev/null
@@ -1,197 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#
-# This is a Vagrantfile to automatically provision a test environment
-#
-# See http://www.vagrantup.com/ for info on Vagrant.
-#
-
-VAGRANT_HOME = '/home/vagrant/'
-TEST_DATA = ::File.join(VAGRANT_HOME, 'test_data')
-RATIS_PATH = ::File.join(VAGRANT_HOME, 'ratis')
-SCREEN_RC_PATH = ::File.join(RATIS_PATH, 'dev-support/vagrant/screenrcs')
-
-# Settings common to all VMs
-common_vm_settings = Proc.new do |vm|
-  vm.customize ['modifyvm', :id, '--nictype2', '82543GC']
-  vm.customize ['modifyvm', :id, '--largepages', 'on']
-  vm.customize ['modifyvm', :id, '--nestedpaging', 'on']
-  vm.customize ['modifyvm', :id, '--vtxvpid', 'on']
-  vm.customize ['modifyvm', :id, '--hwvirtex', 'on']
-  vm.customize ['modifyvm', :id, '--ioapic', 'on']
-end
-
-# Settings common to all test VMs
-common_test_vm_settings = Proc.new do |testvm|
-  # link in and build Ratis
-  testvm.vm.synced_folder '../..', RATIS_PATH, type: 'rsync', rsync__exclude: '**/.vagrant/**'
-
-  test_vm_memory = ENV.fetch 'TEST_VM_MEM', (15 * 1024)
-  # starting screen wants a tty; for more see https://github.com/hashicorp/vagrant/issues/1673
-  testvm.ssh.pty = true
-  testvm.vm.provision :shell, privileged: false, name: 'Run Ratis Servers', inline: <<-EOH
-    pkill -u vagrant -f ratis || true
-    # divide 95% of the VM memory in to thirds for the servers
-    export JAVA_OPTS="-Xmx #{(test_vm_memory.to_i * 0.95) / 3}"
-    # screen wants a tty; use screen(1) for that
-    script -c "screen -c #{SCREEN_RC_PATH}/ratis_$(hostname)_screenrc" /dev/stdout
-  EOH
-  testvm.ssh.pty = false
-
-  testvm.vm.box = 'ratis-test'
-  testvm.vm.box_url = 'ratistest.box'
-
-  testvm.vm.provider :virtualbox do |vb|
-    vb.gui = false
-
-    vb.cpus = ENV.fetch 'TEST_VM_CPUs', 5
-    vb.memory = test_vm_memory
-    vb.linked_clone = true
-    common_vm_settings.call(vb)
-  end
-end
-
-Vagrant.configure('2') do |config|
-  config.vm.define 'ratis-build'.to_sym do |ratisbuild|
-    ratisbuild.vm.hostname = 'ratis-build'
-    # setup a local Maven settings.xml if available
-    if File.exist?(File.expand_path('~/.m2/settings.xml'))
-      config.vm.provision 'shell', privileged: false, inline: 'mkdir -p ~/.m2'
-
-      config.vm.provision 'file', source: '~/.m2/settings.xml',
-                                  destination: "#{VAGRANT_HOME}/.m2/settings.xml"
-    end
-
-    # install packages
-    ratisbuild.vm.provision :shell, name: 'Install Packages', inline: <<-EOH
-      set -e
-      # setup /usr/local/bin for non-packaged software
-      if [[ $(egrep -c 'PATH.*/usr/local/bin' /etc/environment) -eq 0 ]]; then
-        echo 'export PATH=${PATH}:/usr/local/bin' >> /etc/environment
-      fi
-
-      # install Java
-      apt-get update
-      apt-get -y install openjdk-8-jdk-headless
-
-      # install Maven
-      mkdir -p /usr/local
-      wget --continue http://apache.mirrors.ionfish.org/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz
-      tar -xzf apache-maven-3.6.0-bin.tar.gz -C /usr/local
-      [ -L /usr/local/bin/mvn ] || ln -s /usr/local/apache-maven-3.6.0/bin/mvn /usr/local/bin/mvn
-
-      # Namazu dependencies
-      apt-get install -y git libnetfilter-queue-dev libzmq3-dev
-      wget --continue https://dl.google.com/go/go1.11.2.linux-amd64.tar.gz
-      tar -xzf go1.11.2.linux-amd64.tar.gz -C /usr/local
-      [ -L /usr/local/bin/go ] || ln -s /usr/local/go/bin/go /usr/local/bin/go
-    EOH
-
-    # download and build Namazu
-    ratisbuild.vm.provision :shell, privileged: false, name: 'Build Namazu', inline: <<-EOH
-      set -e
-      cd ~/
-      [ '!' -d namazu ] && git clone https://github.com/osrg/namazu
-      cd namazu
-      export GOROOT=/usr/local/go
-      export GOPATH=`pwd`
-      # for some reason seelog fails to pull automatically
-      go get -u github.com/cihub/seelog
-      ./build
-    EOH
-
-    # link in and build Ratis
-    config.vm.synced_folder '../..', RATIS_PATH
-
-    ratisbuild.vm.provision :shell, privileged: false, name: 'Build Ratis', inline: <<-EOH
-      set -e
-      # load proxies or other environment specifics loaded via a Vagrantfile.local
-      # or otherwise into /etc/environment
-      . /etc/environment
-      cd #{RATIS_PATH}
-      mvn package -DskipTests
-    EOH
-
-    ratisbuild.vm.provider :virtualbox do |vb|
-      vb.gui = false
-      vb.memory = ENV.fetch 'BUILD_VM_MEM', 2 * 1024
-      vb.cpus = ENV.fetch 'BUILD_VM_CPUs', 1
-      common_vm_settings.call(vb)
-    end
-
-    ratisbuild.vm.box = 'ubuntu/bionic64'
-  end
-
-  # Configure a generic VM with three Ratis servers
-  config.vm.define 'ratis-servers'.to_sym do |server|
-    server.vm.hostname = 'ratis-server'
-    motd = %(Welcome to the Ratis test VM
-             ========================================
-             This VM provides the following:
-             * screen -x -- this will connect you to a GNU Screen session running all three Ratis daemons
-             * clean-up and restart on your hypervisor with: vagrant up --provision ratisserver
-             ========================================
-            )
-    server.vm.provision :shell, name: 'Update MOTD', inline: <<-EOH.gsub(/^\s+/, '').strip
-      set -e
-      cat <<EOF >/etc/motd
-      #{motd.gsub(/^\s+/, ' ').strip}
-      EOF
-    EOH
-
-    # normal test VM spin-up steps
-    common_test_vm_settings.call(server)
-  end
-
-  # Configure a pathological VM with three Ratis servers running on bad disks
-  config.vm.define 'ratis-hdd-slowdown'.to_sym do |hdd|
-    hdd.vm.hostname = 'ratis-hdd-slowdown'
-    motd = %(Welcome to the Ratis flakey disk test VM
-             ========================================
-             This VM provides the following:
-             * screen -x -- this will connect you to a GNU Screen session running all three Ratis daemons
-             * sudo screen -x -- this will connect you to a GNU Screen session running the Namazu fuzzing daemon
-             * clean-up and restart on your hypervisor with: vagrant up --provision ratishddslowdown
-             ========================================
-            )
-
-    hdd.vm.provision :shell, name: 'Update MOTD', inline: <<-EOH.gsub(/^\s+/, '').strip
-      cat <<EOF >/etc/motd
-      #{motd.gsub(/^\s+/, ' ').strip}
-      EOF
-    EOH
-
-    hdd.vm.provision :shell, name: 'Prepare Namazu Daemon', inline: <<-EOH
-      set -e
-      pkill -u root -f namazu || true
-      fusermount -u #{TEST_DATA}/data0_slowed/ || true
-      fusermount -u #{TEST_DATA}/data1_slowed/ || true
-      fusermount -u #{TEST_DATA}/data2_slowed/ || true
-      mkdir -p #{TEST_DATA}/data{0,0_slowed,1,1_slowed,2,2_slowed}
-      chown vagrant #{TEST_DATA}/data{0,0_slowed,1,1_slowed,2,2_slowed}
-    EOH
-
-    hdd.ssh.pty = true
-    # screen wants a tty; use screen(1) for that
-    hdd.vm.provision :shell, name: 'Run Namazu Daemon', inline: <<-EOH
-      script -c "screen -c #{SCREEN_RC_PATH}/namazu_hdd_screenrc" /dev/stdout
-    EOH
-    hdd.ssh.pty = false
-
-    # normal test VM spin-up steps
-    common_test_vm_settings.call(hdd)
-  end
-end
diff --git a/dev-support/vagrant/bin/start_ratis_load_gen.sh b/dev-support/vagrant/bin/start_ratis_load_gen.sh
deleted file mode 100755
index 4868f59..0000000
--- a/dev-support/vagrant/bin/start_ratis_load_gen.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/bash
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Trivial script to call the Ratis example load gen from GNU Screen
-
-HOME=/home/vagrant
-peers=$1
-
-cd ${HOME}/ratis
-
-export QUORUM_OPTS="--peers $peers"
-# run the load generator
-./ratis-examples/src/main/bin/client.sh filestore loadgen --size 1048576 --numFiles 100 2>&1 | \
-  tee ${HOME}/loadgen.log
-
-# verify all logs checksum the same
-echo "Verification of all Ratis file server logs have the same checksum across all storage directories:"
-find ${HOME}/test_data/data? -type f -a -name 'file-*' -exec md5sum \{\} \+ | sed 's/ .*//' | sort | uniq -c
diff --git a/dev-support/vagrant/bin/start_ratis_server.sh b/dev-support/vagrant/bin/start_ratis_server.sh
deleted file mode 100755
index b429d3e..0000000
--- a/dev-support/vagrant/bin/start_ratis_server.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Trivial script to call the Ratis example server from GNU Screen
-
-HOME=/home/vagrant
-storage=$1
-id=$2
-peers=$3
-
-cd ${HOME}/ratis/
-./ratis-examples/src/main/bin/server.sh filestore server --storage $storage --id $id --peers $peers 2>&1 | \
-  tee ${HOME}/server_${id}.log
diff --git a/dev-support/vagrant/docs/vagrantfile.bpmn b/dev-support/vagrant/docs/vagrantfile.bpmn
deleted file mode 100644
index d8d91e1..0000000
--- a/dev-support/vagrant/docs/vagrantfile.bpmn
+++ /dev/null
@@ -1,420 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License. See accompanying LICENSE file.
--->
-<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_1sfadzh" targetNamespace="http://bpmn.io/schema/bpmn">
-  <bpmn:process id="Process_1" isExecutable="false">
-    <bpmn:subProcess id="SubProcess_0z7pqrc" name="Build ratis-build VM&#10;">
-      <bpmn:incoming>SequenceFlow_0urd70f</bpmn:incoming>
-      <bpmn:intermediateThrowEvent id="IntermediateThrowEvent_0y3qocg" name="Download Java&#10;">
-        <bpmn:incoming>SequenceFlow_0omwrdp</bpmn:incoming>
-        <bpmn:outgoing>SequenceFlow_1gsb6y6</bpmn:outgoing>
-      </bpmn:intermediateThrowEvent>
-      <bpmn:startEvent id="StartEvent_06uerma" name="vagrant up ratis-build --provision">
-        <bpmn:outgoing>SequenceFlow_0omwrdp</bpmn:outgoing>
-      </bpmn:startEvent>
-      <bpmn:sequenceFlow id="SequenceFlow_0omwrdp" sourceRef="StartEvent_06uerma" targetRef="IntermediateThrowEvent_0y3qocg" />
-      <bpmn:intermediateThrowEvent id="IntermediateThrowEvent_1aqnusk" name="Install Maven&#10;">
-        <bpmn:incoming>SequenceFlow_1gsb6y6</bpmn:incoming>
-        <bpmn:outgoing>SequenceFlow_0ba1g32</bpmn:outgoing>
-      </bpmn:intermediateThrowEvent>
-      <bpmn:sequenceFlow id="SequenceFlow_1gsb6y6" sourceRef="IntermediateThrowEvent_0y3qocg" targetRef="IntermediateThrowEvent_1aqnusk" />
-      <bpmn:intermediateThrowEvent id="IntermediateThrowEvent_0jqkmbb" name="Install Namazu Dependencies">
-        <bpmn:incoming>SequenceFlow_0ba1g32</bpmn:incoming>
-        <bpmn:outgoing>SequenceFlow_1kbg34m</bpmn:outgoing>
-      </bpmn:intermediateThrowEvent>
-      <bpmn:sequenceFlow id="SequenceFlow_0ba1g32" sourceRef="IntermediateThrowEvent_1aqnusk" targetRef="IntermediateThrowEvent_0jqkmbb" />
-      <bpmn:intermediateThrowEvent id="IntermediateThrowEvent_0g8jagu" name="Build Namazu&#10;">
-        <bpmn:incoming>SequenceFlow_1kbg34m</bpmn:incoming>
-        <bpmn:outgoing>SequenceFlow_1d5wr7n</bpmn:outgoing>
-      </bpmn:intermediateThrowEvent>
-      <bpmn:sequenceFlow id="SequenceFlow_1kbg34m" sourceRef="IntermediateThrowEvent_0jqkmbb" targetRef="IntermediateThrowEvent_0g8jagu" />
-      <bpmn:intermediateThrowEvent id="IntermediateThrowEvent_1v6diup" name="Build Ratis&#10;">
-        <bpmn:incoming>SequenceFlow_1d5wr7n</bpmn:incoming>
-        <bpmn:outgoing>SequenceFlow_0l4bff2</bpmn:outgoing>
-      </bpmn:intermediateThrowEvent>
-      <bpmn:sequenceFlow id="SequenceFlow_1d5wr7n" sourceRef="IntermediateThrowEvent_0g8jagu" targetRef="IntermediateThrowEvent_1v6diup" />
-      <bpmn:endEvent id="EndEvent_1si4vk8" name="vagrant halt&#10;ratis-test&#10;">
-        <bpmn:incoming>SequenceFlow_0l4bff2</bpmn:incoming>
-      </bpmn:endEvent>
-      <bpmn:sequenceFlow id="SequenceFlow_0l4bff2" sourceRef="IntermediateThrowEvent_1v6diup" targetRef="EndEvent_1si4vk8" />
-    </bpmn:subProcess>
-    <bpmn:subProcess id="SubProcess_1vox2fm" name="Build ratis-servers VM&#10;">
-      <bpmn:incoming>SequenceFlow_18d45r2</bpmn:incoming>
-      <bpmn:startEvent id="StartEvent_118f43t" name="vagrant up&#10;ratis-servers --provision&#10;">
-        <bpmn:outgoing>SequenceFlow_1p4qi6s</bpmn:outgoing>
-      </bpmn:startEvent>
-      <bpmn:subProcess id="SubProcess_0h4f1v2" name="Common VM Processes&#10;">
-        <bpmn:incoming>SequenceFlow_1p4qi6s</bpmn:incoming>
-        <bpmn:outgoing>SequenceFlow_0rls8pr</bpmn:outgoing>
-        <bpmn:intermediateThrowEvent id="IntermediateThrowEvent_1gjprfe" name="Run VM specific Ratis launch (via screenrc)&#10;">
-          <bpmn:incoming>SequenceFlow_09emzly</bpmn:incoming>
-        </bpmn:intermediateThrowEvent>
-        <bpmn:sequenceFlow id="SequenceFlow_09emzly" sourceRef="StartEvent_0set2bm" targetRef="IntermediateThrowEvent_1gjprfe" />
-        <bpmn:intermediateThrowEvent id="StartEvent_0set2bm" name="Kill any ratis processes&#10;">
-          <bpmn:outgoing>SequenceFlow_09emzly</bpmn:outgoing>
-        </bpmn:intermediateThrowEvent>
-      </bpmn:subProcess>
-      <bpmn:sequenceFlow id="SequenceFlow_1p4qi6s" sourceRef="StartEvent_118f43t" targetRef="SubProcess_0h4f1v2" />
-      <bpmn:endEvent id="EndEvent_0liwtzf" name="vagrant suspend ratis-servers&#10;">
-        <bpmn:incoming>SequenceFlow_0rls8pr</bpmn:incoming>
-      </bpmn:endEvent>
-      <bpmn:sequenceFlow id="SequenceFlow_0rls8pr" sourceRef="SubProcess_0h4f1v2" targetRef="EndEvent_0liwtzf" />
-      <bpmn:textAnnotation id="TextAnnotation_04s3sts">
-        <bpmn:text>sets Vagrant box to ratis-test &amp; sets memory, CPU</bpmn:text>
-      </bpmn:textAnnotation>
-      <bpmn:association id="Association_1pw72r1" sourceRef="SubProcess_0h4f1v2" targetRef="TextAnnotation_04s3sts" />
-    </bpmn:subProcess>
-    <bpmn:subProcess id="SubProcess_1nxh3nk" name="Build ratis-hdd-slowdown VM&#10;">
-      <bpmn:incoming>SequenceFlow_1lvmnzt</bpmn:incoming>
-      <bpmn:startEvent id="StartEvent_0l3hmxf" name="vagrant up ratis-hdd-slowdown --provision&#10;">
-        <bpmn:outgoing>SequenceFlow_05xfi9i</bpmn:outgoing>
-      </bpmn:startEvent>
-      <bpmn:endEvent id="EndEvent_0h7nqya" name="vagrant suspend ratis-hdd-slowdown&#10;">
-        <bpmn:incoming>SequenceFlow_1rtfyit</bpmn:incoming>
-      </bpmn:endEvent>
-      <bpmn:task id="Task_13zqryo" name="Common VM Processes&#10;">
-        <bpmn:incoming>SequenceFlow_1odg4c0</bpmn:incoming>
-        <bpmn:outgoing>SequenceFlow_1rtfyit</bpmn:outgoing>
-      </bpmn:task>
-      <bpmn:subProcess id="SubProcess_0brvgq2" name="Prepare Namazu Daemon&#10;">
-        <bpmn:incoming>SequenceFlow_05xfi9i</bpmn:incoming>
-        <bpmn:outgoing>SequenceFlow_0y93jhx</bpmn:outgoing>
-        <bpmn:intermediateThrowEvent id="IntermediateThrowEvent_01t8cjj" name=" Make test dirs&#10;">
-          <bpmn:outgoing>SequenceFlow_1wxxary</bpmn:outgoing>
-        </bpmn:intermediateThrowEvent>
-        <bpmn:intermediateThrowEvent id="IntermediateThrowEvent_0kuy86e" name="Kill any namazu processes&#10;">
-          <bpmn:incoming>SequenceFlow_1wxxary</bpmn:incoming>
-          <bpmn:outgoing>SequenceFlow_1kpvmtl</bpmn:outgoing>
-        </bpmn:intermediateThrowEvent>
-        <bpmn:sequenceFlow id="SequenceFlow_1wxxary" sourceRef="IntermediateThrowEvent_01t8cjj" targetRef="IntermediateThrowEvent_0kuy86e" />
-        <bpmn:intermediateThrowEvent id="IntermediateThrowEvent_07tr02j" name="Unmount all Fuse mounts&#10;">
-          <bpmn:incoming>SequenceFlow_1kpvmtl</bpmn:incoming>
-        </bpmn:intermediateThrowEvent>
-        <bpmn:sequenceFlow id="SequenceFlow_1kpvmtl" sourceRef="IntermediateThrowEvent_0kuy86e" targetRef="IntermediateThrowEvent_07tr02j" />
-      </bpmn:subProcess>
-      <bpmn:sequenceFlow id="SequenceFlow_05xfi9i" sourceRef="StartEvent_0l3hmxf" targetRef="SubProcess_0brvgq2" />
-      <bpmn:intermediateThrowEvent id="IntermediateThrowEvent_08jwjmk" name="Run namazu (via screenrc)&#10;">
-        <bpmn:incoming>SequenceFlow_0y93jhx</bpmn:incoming>
-        <bpmn:outgoing>SequenceFlow_1odg4c0</bpmn:outgoing>
-      </bpmn:intermediateThrowEvent>
-      <bpmn:sequenceFlow id="SequenceFlow_1odg4c0" sourceRef="IntermediateThrowEvent_08jwjmk" targetRef="Task_13zqryo" />
-      <bpmn:sequenceFlow id="SequenceFlow_1rtfyit" sourceRef="Task_13zqryo" targetRef="EndEvent_0h7nqya" />
-      <bpmn:sequenceFlow id="SequenceFlow_0y93jhx" sourceRef="SubProcess_0brvgq2" targetRef="IntermediateThrowEvent_08jwjmk" />
-    </bpmn:subProcess>
-    <bpmn:subProcess id="SubProcess_003i1wn" name="run_all_tests.sh:build&#10;">
-      <bpmn:outgoing>SequenceFlow_0urd70f</bpmn:outgoing>
-      <bpmn:outgoing>SequenceFlow_18d45r2</bpmn:outgoing>
-      <bpmn:outgoing>SequenceFlow_1lvmnzt</bpmn:outgoing>
-      <bpmn:intermediateThrowEvent id="IntermediateThrowEvent_0n4ow8g" name="Build&#10;ratis-servers VM&#10;">
-        <bpmn:incoming>SequenceFlow_0pqdxj9</bpmn:incoming>
-        <bpmn:outgoing>SequenceFlow_171shbg</bpmn:outgoing>
-      </bpmn:intermediateThrowEvent>
-      <bpmn:intermediateThrowEvent id="IntermediateThrowEvent_1cmdrjz" name="vagrant package ratis-build&#10;">
-        <bpmn:incoming>SequenceFlow_1ormzc8</bpmn:incoming>
-        <bpmn:outgoing>SequenceFlow_0pqdxj9</bpmn:outgoing>
-      </bpmn:intermediateThrowEvent>
-      <bpmn:intermediateThrowEvent id="IntermediateThrowEvent_1pdyawc" name="Build ratis-build VM&#10;">
-        <bpmn:incoming>SequenceFlow_142v0rf</bpmn:incoming>
-        <bpmn:outgoing>SequenceFlow_1ormzc8</bpmn:outgoing>
-      </bpmn:intermediateThrowEvent>
-      <bpmn:startEvent id="StartEvent_1pvbxq8">
-        <bpmn:outgoing>SequenceFlow_142v0rf</bpmn:outgoing>
-      </bpmn:startEvent>
-      <bpmn:endEvent id="EndEvent_0w9o8ng">
-        <bpmn:incoming>SequenceFlow_1kxnv1n</bpmn:incoming>
-      </bpmn:endEvent>
-      <bpmn:intermediateThrowEvent id="IntermediateThrowEvent_0ppv1mn" name="Build ratis-hdd-slowdownVM&#10;">
-        <bpmn:incoming>SequenceFlow_171shbg</bpmn:incoming>
-        <bpmn:outgoing>SequenceFlow_1kxnv1n</bpmn:outgoing>
-      </bpmn:intermediateThrowEvent>
-      <bpmn:sequenceFlow id="SequenceFlow_171shbg" sourceRef="IntermediateThrowEvent_0n4ow8g" targetRef="IntermediateThrowEvent_0ppv1mn" />
-      <bpmn:sequenceFlow id="SequenceFlow_0pqdxj9" sourceRef="IntermediateThrowEvent_1cmdrjz" targetRef="IntermediateThrowEvent_0n4ow8g" />
-      <bpmn:sequenceFlow id="SequenceFlow_1ormzc8" sourceRef="IntermediateThrowEvent_1pdyawc" targetRef="IntermediateThrowEvent_1cmdrjz" />
-      <bpmn:sequenceFlow id="SequenceFlow_142v0rf" sourceRef="StartEvent_1pvbxq8" targetRef="IntermediateThrowEvent_1pdyawc" />
-      <bpmn:sequenceFlow id="SequenceFlow_1kxnv1n" sourceRef="IntermediateThrowEvent_0ppv1mn" targetRef="EndEvent_0w9o8ng" />
-    </bpmn:subProcess>
-    <bpmn:sequenceFlow id="SequenceFlow_0urd70f" sourceRef="SubProcess_003i1wn" targetRef="SubProcess_0z7pqrc" />
-    <bpmn:sequenceFlow id="SequenceFlow_18d45r2" sourceRef="SubProcess_003i1wn" targetRef="SubProcess_1vox2fm" />
-    <bpmn:sequenceFlow id="SequenceFlow_1lvmnzt" sourceRef="SubProcess_003i1wn" targetRef="SubProcess_1nxh3nk" />
-  </bpmn:process>
-  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
-    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
-      <bpmndi:BPMNShape id="SubProcess_0z7pqrc_di" bpmnElement="SubProcess_0z7pqrc" isExpanded="true">
-        <dc:Bounds x="158" y="-274" width="380" height="293" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="IntermediateThrowEvent_0y3qocg_di" bpmnElement="IntermediateThrowEvent_0y3qocg">
-        <dc:Bounds x="226" y="-71" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="207" y="-26" width="75" height="27" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="StartEvent_06uerma_di" bpmnElement="StartEvent_06uerma">
-        <dc:Bounds x="226" y="-198" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="204" y="-244" width="80" height="27" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_0omwrdp_di" bpmnElement="SequenceFlow_0omwrdp">
-        <di:waypoint x="244" y="-162" />
-        <di:waypoint x="244" y="-71" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="IntermediateThrowEvent_1aqnusk_di" bpmnElement="IntermediateThrowEvent_1aqnusk">
-        <dc:Bounds x="307" y="-198" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="293" y="-220" width="64" height="27" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_1gsb6y6_di" bpmnElement="SequenceFlow_1gsb6y6">
-        <di:waypoint x="262" y="-53" />
-        <di:waypoint x="285" y="-53" />
-        <di:waypoint x="285" y="-180" />
-        <di:waypoint x="307" y="-180" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="IntermediateThrowEvent_0jqkmbb_di" bpmnElement="IntermediateThrowEvent_0jqkmbb">
-        <dc:Bounds x="307" y="-71" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="289" y="-28" width="72" height="27" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_0ba1g32_di" bpmnElement="SequenceFlow_0ba1g32">
-        <di:waypoint x="325" y="-162" />
-        <di:waypoint x="325" y="-71" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="IntermediateThrowEvent_0g8jagu_di" bpmnElement="IntermediateThrowEvent_0g8jagu">
-        <dc:Bounds x="392" y="-198" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="376" y="-218" width="67" height="27" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_1kbg34m_di" bpmnElement="SequenceFlow_1kbg34m">
-        <di:waypoint x="343" y="-53" />
-        <di:waypoint x="368" y="-53" />
-        <di:waypoint x="368" y="-180" />
-        <di:waypoint x="392" y="-180" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="IntermediateThrowEvent_1v6diup_di" bpmnElement="IntermediateThrowEvent_1v6diup">
-        <dc:Bounds x="392" y="-71" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="385" y="-28" width="51" height="27" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_1d5wr7n_di" bpmnElement="SequenceFlow_1d5wr7n">
-        <di:waypoint x="410" y="-162" />
-        <di:waypoint x="410" y="-71" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="EndEvent_1si4vk8_di" bpmnElement="EndEvent_1si4vk8">
-        <dc:Bounds x="464" y="-198" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="462" y="-154" width="57" height="40" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_0l4bff2_di" bpmnElement="SequenceFlow_0l4bff2">
-        <di:waypoint x="428" y="-53" />
-        <di:waypoint x="446" y="-53" />
-        <di:waypoint x="446" y="-180" />
-        <di:waypoint x="464" y="-180" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="SubProcess_1vox2fm_di" bpmnElement="SubProcess_1vox2fm" isExpanded="true">
-        <dc:Bounds x="114" y="50" width="468" height="213" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="StartEvent_118f43t_di" bpmnElement="StartEvent_118f43t">
-        <dc:Bounds x="146" y="151" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="132" y="90" width="63" height="53" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="SubProcess_0h4f1v2_di" bpmnElement="SubProcess_0h4f1v2" isExpanded="true">
-        <dc:Bounds x="221" y="103" width="199" height="131" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_1p4qi6s_di" bpmnElement="SequenceFlow_1p4qi6s">
-        <di:waypoint x="182" y="169" />
-        <di:waypoint x="221" y="169" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="IntermediateThrowEvent_1gjprfe_di" bpmnElement="IntermediateThrowEvent_1gjprfe">
-        <dc:Bounds x="342" y="142" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="320" y="185" width="81" height="53" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_09emzly_di" bpmnElement="SequenceFlow_09emzly">
-        <di:waypoint x="277" y="160" />
-        <di:waypoint x="342" y="160" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="IntermediateThrowEvent_16roajq_di" bpmnElement="StartEvent_0set2bm">
-        <dc:Bounds x="241" y="142" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="231" y="185" width="58" height="40" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="TextAnnotation_04s3sts_di" bpmnElement="TextAnnotation_04s3sts">
-        <dc:Bounds x="462" y="71" width="100" height="70" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="Association_1pw72r1_di" bpmnElement="Association_1pw72r1">
-        <di:waypoint x="420" y="136" />
-        <di:waypoint x="462" y="122" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="EndEvent_0liwtzf_di" bpmnElement="EndEvent_0liwtzf">
-        <dc:Bounds x="459" y="151" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="436" y="194" width="82" height="40" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_0rls8pr_di" bpmnElement="SequenceFlow_0rls8pr">
-        <di:waypoint x="420" y="169" />
-        <di:waypoint x="459" y="169" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="SubProcess_1nxh3nk_di" bpmnElement="SubProcess_1nxh3nk" isExpanded="true">
-        <dc:Bounds x="138" y="284" width="419" height="316" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="StartEvent_0l3hmxf_di" bpmnElement="StartEvent_0l3hmxf">
-        <dc:Bounds x="181" y="366" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="159" y="305" width="80" height="53" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="EndEvent_0h7nqya_di" bpmnElement="EndEvent_0h7nqya">
-        <dc:Bounds x="477" y="341" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="454" y="384" width="82" height="53" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="Task_13zqryo_di" bpmnElement="Task_13zqryo">
-        <dc:Bounds x="349" y="319" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="SubProcess_0brvgq2_di" bpmnElement="SubProcess_0brvgq2" isExpanded="true">
-        <dc:Bounds x="189" y="455" width="334" height="120" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_05xfi9i_di" bpmnElement="SequenceFlow_05xfi9i">
-        <di:waypoint x="199" y="402" />
-        <di:waypoint x="199" y="455" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="IntermediateThrowEvent_01t8cjj_di" bpmnElement="IntermediateThrowEvent_01t8cjj">
-        <dc:Bounds x="214" y="475" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="197" y="518" width="72" height="27" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="IntermediateThrowEvent_0kuy86e_di" bpmnElement="IntermediateThrowEvent_0kuy86e">
-        <dc:Bounds x="331" y="475" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="311" y="518" width="76" height="40" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_1wxxary_di" bpmnElement="SequenceFlow_1wxxary">
-        <di:waypoint x="250" y="493" />
-        <di:waypoint x="331" y="493" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="IntermediateThrowEvent_07tr02j_di" bpmnElement="IntermediateThrowEvent_07tr02j">
-        <dc:Bounds x="448" y="475" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="424" y="518" width="85" height="40" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_1kpvmtl_di" bpmnElement="SequenceFlow_1kpvmtl">
-        <di:waypoint x="367" y="493" />
-        <di:waypoint x="448" y="493" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="IntermediateThrowEvent_08jwjmk_di" bpmnElement="IntermediateThrowEvent_08jwjmk">
-        <dc:Bounds x="275" y="341" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="251" y="309" width="83" height="40" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_1odg4c0_di" bpmnElement="SequenceFlow_1odg4c0">
-        <di:waypoint x="311" y="359" />
-        <di:waypoint x="349" y="359" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_1rtfyit_di" bpmnElement="SequenceFlow_1rtfyit">
-        <di:waypoint x="449" y="359" />
-        <di:waypoint x="477" y="359" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_0y93jhx_di" bpmnElement="SequenceFlow_0y93jhx">
-        <di:waypoint x="356" y="455" />
-        <di:waypoint x="356" y="416" />
-        <di:waypoint x="293" y="416" />
-        <di:waypoint x="293" y="377" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="SubProcess_003i1wn_di" bpmnElement="SubProcess_003i1wn" isExpanded="true">
-        <dc:Bounds x="-315" y="-83" width="325" height="448" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="IntermediateThrowEvent_0n4ow8g_di" bpmnElement="IntermediateThrowEvent_0n4ow8g">
-        <dc:Bounds x="-189" y="162" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="-282" y="160" width="82" height="40" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="IntermediateThrowEvent_1cmdrjz_di" bpmnElement="IntermediateThrowEvent_1cmdrjz">
-        <dc:Bounds x="-189" y="97" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="-284" y="95" width="82" height="40" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="IntermediateThrowEvent_1pdyawc_di" bpmnElement="IntermediateThrowEvent_1pdyawc">
-        <dc:Bounds x="-189" y="38" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="-277" y="42" width="73" height="40" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="StartEvent_1pvbxq8_di" bpmnElement="StartEvent_1pvbxq8">
-        <dc:Bounds x="-189" y="-23" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="10" y="-160.5" width="52" height="53" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="EndEvent_0w9o8ng_di" bpmnElement="EndEvent_0w9o8ng">
-        <dc:Bounds x="-189" y="299" width="36" height="36" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="IntermediateThrowEvent_0ppv1mn_di" bpmnElement="IntermediateThrowEvent_0ppv1mn">
-        <dc:Bounds x="-189" y="226" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="-277" y="224" width="73" height="40" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_171shbg_di" bpmnElement="SequenceFlow_171shbg">
-        <di:waypoint x="-171" y="198" />
-        <di:waypoint x="-171" y="226" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_0pqdxj9_di" bpmnElement="SequenceFlow_0pqdxj9">
-        <di:waypoint x="-171" y="133" />
-        <di:waypoint x="-171" y="162" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_1ormzc8_di" bpmnElement="SequenceFlow_1ormzc8">
-        <di:waypoint x="-171" y="74" />
-        <di:waypoint x="-171" y="97" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_142v0rf_di" bpmnElement="SequenceFlow_142v0rf">
-        <di:waypoint x="-171" y="13" />
-        <di:waypoint x="-171" y="38" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_1kxnv1n_di" bpmnElement="SequenceFlow_1kxnv1n">
-        <di:waypoint x="-171" y="262" />
-        <di:waypoint x="-171" y="299" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_0urd70f_di" bpmnElement="SequenceFlow_0urd70f">
-        <di:waypoint x="-152" y="-83" />
-        <di:waypoint x="-152" y="-127" />
-        <di:waypoint x="158" y="-127" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_18d45r2_di" bpmnElement="SequenceFlow_18d45r2">
-        <di:waypoint x="10" y="141" />
-        <di:waypoint x="114" y="141" />
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_1lvmnzt_di" bpmnElement="SequenceFlow_1lvmnzt">
-        <di:waypoint x="-152" y="365" />
-        <di:waypoint x="-152" y="442" />
-        <di:waypoint x="138" y="442" />
-      </bpmndi:BPMNEdge>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</bpmn:definitions>
diff --git a/dev-support/vagrant/docs/vagrantfile_bpmn.svg b/dev-support/vagrant/docs/vagrantfile_bpmn.svg
deleted file mode 100644
index 1d242ce..0000000
--- a/dev-support/vagrant/docs/vagrantfile_bpmn.svg
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License. See accompanying LICENSE file.
--->
-<!-- created with bpmn-js / http://bpmn.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="909" height="886" viewBox="-321 -280 909 886" version="1.1"><defs><marker id="sequenceflow-end-white-black-d4t3chy4ucmg80j3tw5bo8x0e" viewBox="0 0 20 20" refX="11" refY="10" markerWidth="10" markerHeight="10" orient="auto"><path d="M 1 5 L 11 10 L 1 15 Z" style="fill: black; stroke-width: 1px; stroke-linecap: round; stroke-dasharray: 10000, 1; stroke: black;"/></marker></defs><g class="djs-group"><g [...]
diff --git a/dev-support/vagrant/namazu_configs/hdd_config.toml b/dev-support/vagrant/namazu_configs/hdd_config.toml
deleted file mode 100644
index 892b012..0000000
--- a/dev-support/vagrant/namazu_configs/hdd_config.toml
+++ /dev/null
@@ -1,26 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Policy for a "flakey" disk to stress performance and recovery
-explorePolicy = "random"
-
-[explorePolicyParam]
-  # for the Filesystem inspector, event will be non-deterministically delayed.
-  # minInterval and maxInterval are bounds for the non-deterministic delays
-  minInterval = "10ms"
-  maxInterval = "300ms"
-
-  # for Filesystem inspectors, you can specify fault-injection probability (0.0-1.0).
-  faultActionProbability = 0.0
diff --git a/dev-support/vagrant/run_all_tests.sh b/dev-support/vagrant/run_all_tests.sh
deleted file mode 100755
index cab97ae..0000000
--- a/dev-support/vagrant/run_all_tests.sh
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/bin/bash
-
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-set -e
-
-testvms="ratis-servers ratis-hdd-slowdown"
-
-box_path=$(dirname ${BASH_SOURCE[0]})/ratistest.box
-
-if [[ $1 == "build" ]]; then
-  # build everything
-  echo "============================================"
-  echo "Building the ratisbuild VM:"
-  echo "============================================"
-  vagrant up ratis-build --provision
-  vagrant halt ratis-build
-  [ '!' -e $box_path ] && vagrant package ratis-build --output $box_path
-
-  echo "============================================"
-  echo "Building the test-suite VMs:"
-  echo "============================================"
-  for vm in $testvms; do
-    echo "============================================"
-    echo "Building test-suite VM: $vm"
-    echo "============================================"
-    vagrant up $vm --provision
-    vagrant suspend $vm
-  done
-  clear
-  echo "============================================"
-  echo "Build complete"
-  echo "Run vagrant resume <vm name> to start a particular environment"
-  echo "Run vagrant ssh <vm name> to enter a particular environment"
-  echo "============================================"
-  vagrant status
-elif [[ $1 == "clean" ]]; then
-  echo "============================================"
-  echo "Cleaning-up all test artifacts"
-  echo "============================================"
-  vagrant destroy -f ratis-build || true
-  for vm in $testvms; do
-    vagrant destroy -f $vm || true
-  done
-  vagrant box remove ratis-test || true
-  rm -f $box_path
-  echo "============================================"
-  echo "Clean-up complete"
-  echo "============================================"
-else
-  echo "$(basename $0): Usage: $(basename $0) build"
-  echo "                       $(basename $0) clean"
-fi
diff --git a/dev-support/vagrant/screenrcs/namazu_hdd_screenrc b/dev-support/vagrant/screenrcs/namazu_hdd_screenrc
deleted file mode 100644
index 2ceadea..0000000
--- a/dev-support/vagrant/screenrcs/namazu_hdd_screenrc
+++ /dev/null
@@ -1,32 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# huge scrollback buffer
-defscrollback 50000
-
-# no welcome message
-startup_message off
-
-# default windows
-screen -t Disk0 0 /home/vagrant/namazu/bin/nmz inspectors fs -original-dir /home/vagrant/test_data/data0 -mount-point /home/vagrant/test_data/data0_slowed/ -autopilot /home/vagrant/ratis/dev-support/vagrant/namazu_configs/hdd_config.toml
-screen -t Disk1 0 /home/vagrant/namazu/bin/nmz inspectors fs -original-dir /home/vagrant/test_data/data1 -mount-point /home/vagrant/test_data/data1_slowed/ -autopilot /home/vagrant/ratis/dev-support/vagrant/namazu_configs/hdd_config.toml
-screen -t Disk2 0 /home/vagrant/namazu/bin/nmz inspectors fs -original-dir /home/vagrant/test_data/data2 -mount-point /home/vagrant/test_data/data2_slowed/ -autopilot /home/vagrant/ratis/dev-support/vagrant/namazu_configs/hdd_config.toml
-
-autodetach on
-detach
-
-# Don't kill window after the process died
-# 'k' kills window, 'r' restarts
-zombie kr
diff --git a/dev-support/vagrant/screenrcs/ratis_ratis-hdd-slowdown_screenrc b/dev-support/vagrant/screenrcs/ratis_ratis-hdd-slowdown_screenrc
deleted file mode 100644
index 263e7e4..0000000
--- a/dev-support/vagrant/screenrcs/ratis_ratis-hdd-slowdown_screenrc
+++ /dev/null
@@ -1,33 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# huge scrollback buffer
-defscrollback 50000
-
-# no welcome message
-startup_message off
-
-# default windows
-screen -t Server0 0 /home/vagrant/ratis/dev-support/vagrant/bin/start_ratis_server.sh /home/vagrant/test_data/data0_slowed n0 n0:127.0.0.1:6000,n1:127.0.0.1:6001,n2:127.0.0.1:6002
-screen -t Server1 1 /home/vagrant/ratis/dev-support/vagrant/bin/start_ratis_server.sh /home/vagrant/test_data/data1_slowed n1 n0:127.0.0.1:6000,n1:127.0.0.1:6001,n2:127.0.0.1:6002
-screen -t Server2 2 /home/vagrant/ratis/dev-support/vagrant/bin/start_ratis_server.sh /home/vagrant/test_data/data2_slowed n2 n0:127.0.0.1:6000,n1:127.0.0.1:6001,n2:127.0.0.1:6002
-screen -t LoadGen 3 /home/vagrant/ratis/dev-support/vagrant/bin/start_ratis_load_gen.sh n0:127.0.0.1:6000,n1:127.0.0.1:6001,n2:127.0.0.1:6002
-
-autodetach on
-detach
-
-# Don't kill window after the process died
-# 'k' kills window, 'r' restarts
-zombie kr
diff --git a/dev-support/vagrant/screenrcs/ratis_ratis-server_screenrc b/dev-support/vagrant/screenrcs/ratis_ratis-server_screenrc
deleted file mode 100644
index eae71c8..0000000
--- a/dev-support/vagrant/screenrcs/ratis_ratis-server_screenrc
+++ /dev/null
@@ -1,33 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# huge scrollback buffer
-defscrollback 50000
-
-# no welcome message
-startup_message off
-
-# default windows
-screen -t Server0 0 /home/vagrant/ratis/dev-support/vagrant/bin/start_ratis_server.sh /home/vagrant/test_data/data0 n0 n0:127.0.0.1:6000,n1:127.0.0.1:6001,n2:127.0.0.1:6002
-screen -t Server1 1 /home/vagrant/ratis/dev-support/vagrant/bin/start_ratis_server.sh /home/vagrant/test_data/data1 n1 n0:127.0.0.1:6000,n1:127.0.0.1:6001,n2:127.0.0.1:6002
-screen -t Server2 2 /home/vagrant/ratis/dev-support/vagrant/bin/start_ratis_server.sh /home/vagrant/test_data/data2 n2 n0:127.0.0.1:6000,n1:127.0.0.1:6001,n2:127.0.0.1:6002
-screen -t LoadGen 3 /home/vagrant/ratis/dev-support/vagrant/bin/start_ratis_load_gen.sh n0:127.0.0.1:6000,n1:127.0.0.1:6001,n2:127.0.0.1:6002
-
-autodetach on
-detach
-
-# Don't kill window after the process died
-# 'k' kills window, 'r' restarts
-zombie kr
diff --git a/dev-support/yetus-personality.sh b/dev-support/yetus-personality.sh
deleted file mode 100644
index 8423219..0000000
--- a/dev-support/yetus-personality.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/usr/bin/env bash
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-personality_plugins "all"
-
-## @description  Globals specific to this personality
-## @audience     private
-## @stability    evolving
-function personality_globals
-{
-  # shellcheck disable=SC2034
-  BUILDTOOL=maven
-  #shellcheck disable=SC2034
-  PATCH_BRANCH_DEFAULT=master
-  #shellcheck disable=SC2034
-  JIRA_ISSUE_RE='^RATIS-[0-9]+$'
-  #shellcheck disable=SC2034
-  GITHUB_REPO="apache/ratis"
-}
-
-
-## @description  Queue up modules for this personality
-## @audience     private
-## @stability    evolving
-## @param        repostatus
-## @param        testtype
-function personality_modules
-{
-  #Ratis is not a big project, we can always run everything on the whole project.
-  #Especially as we need the generated sources and shaded client.
-  clear_personality_queue
-  personality_enqueue_module .
-}
diff --git a/dev-support/yetus-wrapper b/dev-support/yetus-wrapper
deleted file mode 100644
index ae05d42..0000000
--- a/dev-support/yetus-wrapper
+++ /dev/null
@@ -1,178 +0,0 @@
-#!/usr/bin/env bash
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# you must be this high to ride the ride
-if [[ -z "${BASH_VERSINFO[0]}" ]] \
-   || [[ "${BASH_VERSINFO[0]}" -lt 3 ]] \
-   || [[ "${BASH_VERSINFO[0]}" -eq 3 && "${BASH_VERSINFO[1]}" -lt 2 ]]; then
-  echo "bash v3.2+ is required. Sorry."
-  exit 1
-fi
-
-set -o pipefail
-
-## @description  Print a message to stderr
-## @audience     public
-## @stability    stable
-## @replaceable  no
-## @param        string
-function yetus_error
-{
-  echo "$*" 1>&2
-}
-
-## @description  Given a filename or dir, return the absolute version of it
-## @audience     public
-## @stability    stable
-## @param        directory
-## @replaceable  no
-## @return       0 success
-## @return       1 failure
-## @return       stdout abspath
-function yetus_abs
-{
-  declare obj=$1
-  declare dir
-  declare fn
-  declare dirret
-
-  if [[ ! -e ${obj} ]]; then
-    return 1
-  elif [[ -d ${obj} ]]; then
-    dir=${obj}
-  else
-    dir=$(dirname -- "${obj}")
-    fn=$(basename -- "${obj}")
-    fn="/${fn}"
-  fi
-
-  dir=$(cd -P -- "${dir}" >/dev/null 2>/dev/null && pwd -P)
-  dirret=$?
-  if [[ ${dirret} = 0 ]]; then
-    echo "${dir}${fn}"
-    return 0
-  fi
-  return 1
-}
-
-
-WANTED="$1"
-shift
-ARGV=("$@")
-
-HADOOP_YETUS_VERSION=${HADOOP_YETUS_VERSION:-0.8.0}
-BIN=$(yetus_abs "${BASH_SOURCE-$0}")
-BINDIR=$(dirname "${BIN}")
-
-###
-###  if YETUS_HOME is set, then try to use it
-###
-if [[ -n "${YETUS_HOME}"
-   && -x "${YETUS_HOME}/bin/${WANTED}" ]]; then
-  exec "${YETUS_HOME}/bin/${WANTED}" "${ARGV[@]}"
-fi
-
-#
-# this directory is ignored by git and maven
-#
-HADOOP_PATCHPROCESS=${HADOOP_PATCHPROCESS:-"${BINDIR}/../../patchprocess"}
-
-if [[ ! -d "${HADOOP_PATCHPROCESS}" ]]; then
-  mkdir -p "${HADOOP_PATCHPROCESS}"
-fi
-
-mytmpdir=$(yetus_abs "${HADOOP_PATCHPROCESS}")
-ret=$?
-if [[ ${ret} != 0 ]]; then
-  yetus_error "yetus-dl: Unable to cwd to ${HADOOP_PATCHPROCESS}"
-  exit 1
-fi
-HADOOP_PATCHPROCESS=${mytmpdir}
-
-##
-## if we've already DL'd it, then short cut
-##
-if [[ -x "${HADOOP_PATCHPROCESS}/yetus-${HADOOP_YETUS_VERSION}/bin/${WANTED}" ]]; then
-  exec "${HADOOP_PATCHPROCESS}/yetus-${HADOOP_YETUS_VERSION}/bin/${WANTED}" "${ARGV[@]}"
-fi
-
-##
-## need to DL, etc
-##
-
-BASEURL="https://archive.apache.org/dist/yetus/${HADOOP_YETUS_VERSION}/"
-TARBALL="yetus-${HADOOP_YETUS_VERSION}-bin.tar"
-
-GPGBIN=$(command -v gpg)
-CURLBIN=$(command -v curl)
-
-if ! pushd "${HADOOP_PATCHPROCESS}" >/dev/null; then
-  yetus_error "ERROR: yetus-dl: Cannot pushd to ${HADOOP_PATCHPROCESS}"
-  exit 1
-fi
-
-if [[ -n "${CURLBIN}" ]]; then
-  if ! "${CURLBIN}" -f -s -L -O "${BASEURL}/${TARBALL}.gz"; then
-    yetus_error "ERROR: yetus-dl: unable to download ${BASEURL}/${TARBALL}.gz"
-    exit 1
-  fi
-else
-  yetus_error "ERROR: yetus-dl requires curl."
-  exit 1
-fi
-
-if [[ -n "${GPGBIN}" ]]; then
-  if ! mkdir -p .gpg; then
-    yetus_error "ERROR: yetus-dl: Unable to create ${HADOOP_PATCHPROCESS}/.gpg"
-    exit 1
-  fi
-  if ! chmod -R 700 .gpg; then
-    yetus_error "ERROR: yetus-dl: Unable to chmod ${HADOOP_PATCHPROCESS}/.gpg"
-    exit 1
-  fi
-  if ! "${CURLBIN}" -s -L -o KEYS_YETUS https://dist.apache.org/repos/dist/release/yetus/KEYS; then
-    yetus_error "ERROR: yetus-dl: unable to fetch https://dist.apache.org/repos/dist/release/yetus/KEYS"
-    exit 1
-  fi
-  if ! "${CURLBIN}" -s -L -O "${BASEURL}/${TARBALL}.gz.asc"; then
-    yetus_error "ERROR: yetus-dl: unable to fetch ${BASEURL}/${TARBALL}.gz.asc"
-    exit 1
-  fi
-  if ! "${GPGBIN}" --homedir "${HADOOP_PATCHPROCESS}/.gpg" --import "${HADOOP_PATCHPROCESS}/KEYS_YETUS" >/dev/null 2>&1; then
-    yetus_error "ERROR: yetus-dl: gpg unable to import ${HADOOP_PATCHPROCESS}/KEYS_YETUS"
-    exit 1
-  fi
-  if ! "${GPGBIN}" --homedir "${HADOOP_PATCHPROCESS}/.gpg" --verify "${TARBALL}.gz.asc" >/dev/null 2>&1; then
-     yetus_error "ERROR: yetus-dl: gpg verify of tarball in ${HADOOP_PATCHPROCESS} failed"
-     exit 1
-   fi
-fi
-
-if ! (gunzip -c "${TARBALL}.gz" | tar xpf -); then
-  yetus_error "ERROR: ${TARBALL}.gz is corrupt. Investigate and then remove ${HADOOP_PATCHPROCESS} to try again."
-  exit 1
-fi
-
-if [[ -x "${HADOOP_PATCHPROCESS}/yetus-${HADOOP_YETUS_VERSION}/bin/${WANTED}" ]]; then
-  popd >/dev/null
-  exec "${HADOOP_PATCHPROCESS}/yetus-${HADOOP_YETUS_VERSION}/bin/${WANTED}" "${ARGV[@]}"
-fi
-
-##
-## give up
-##
-yetus_error "ERROR: ${WANTED} is not part of Apache Yetus ${HADOOP_YETUS_VERSION}"
-exit 1
diff --git a/pom.xml b/pom.xml
index b045f5d..ebdbc62 100644
--- a/pom.xml
+++ b/pom.xml
@@ -16,19 +16,19 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>org.apache</groupId>
-    <artifactId>apache</artifactId>
-    <version>23</version>
+    <groupId>org.apache.ratis</groupId>
+    <artifactId>ratis</artifactId>
+    <version>2.2.0</version>
     <relativePath /> <!-- resolve from repository -->
   </parent>
 
-  <artifactId>ratis</artifactId>
+  <artifactId>ratis-hadoop-projects</artifactId>
   <groupId>org.apache.ratis</groupId>
   <version>2.3.0-SNAPSHOT</version>
-  <name>Apache Ratis</name>
+  <name>Apache Ratis Hadoop Projects</name>
   <packaging>pom</packaging>
   <description>
-    Apache Ratis is an open source java implementation for RAFT consensus protocol
+    Apache Ratis Hadoop Projects are Hadoop-related subprojects of Apache Ratis
   </description>
   <url>https://ratis.apache.org/</url>
   <inceptionYear>2017</inceptionYear>
@@ -69,10 +69,10 @@
   </licenses>
 
   <modules>
-    <module>ratis-resource-bundle</module>
+    <module>ratis-hadoop-projects-resource-bundle</module>
     <module>ratis-hadoop</module>
     <module>ratis-logservice</module>
-    <module>ratis-assembly</module>
+    <module>ratis-hadoop-projects-assembly</module>
   </modules>
 
   <pluginRepositories>
@@ -215,12 +215,6 @@
     <dependencies>
       <!-- Internal dependencies -->
       <dependency>
-        <artifactId>ratis-docs</artifactId>
-        <groupId>org.apache.ratis</groupId>
-        <version>${ratis.version}</version>
-      </dependency>
-
-      <dependency>
         <artifactId>ratis-client</artifactId>
         <groupId>org.apache.ratis</groupId>
         <version>${ratis.version}</version>
@@ -247,23 +241,6 @@
       </dependency>
 
       <dependency>
-        <artifactId>ratis-examples</artifactId>
-        <groupId>org.apache.ratis</groupId>
-        <version>${ratis.version}</version>
-      </dependency>
-      <dependency>
-        <artifactId>ratis-examples</artifactId>
-        <groupId>org.apache.ratis</groupId>
-        <version>${ratis.version}</version>
-        <type>test-jar</type>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <artifactId>ratis-experiments</artifactId>
-        <groupId>org.apache.ratis</groupId>
-        <version>${ratis.version}</version>
-      </dependency>
-      <dependency>
        <artifactId>ratis-metrics</artifactId>
        <groupId>org.apache.ratis</groupId>
        <version>${ratis.version}</version>
@@ -288,11 +265,6 @@
         <scope>test</scope>
       </dependency>
       <dependency>
-        <artifactId>ratis-shell</artifactId>
-        <groupId>org.apache.ratis</groupId>
-        <version>${ratis.version}</version>
-      </dependency>
-      <dependency>
         <artifactId>ratis-grpc</artifactId>
         <groupId>org.apache.ratis</groupId>
         <version>${ratis.version}</version>
@@ -325,19 +297,6 @@
       </dependency>
 
       <dependency>
-        <artifactId>ratis-replicated-map</artifactId>
-        <groupId>org.apache.ratis</groupId>
-        <version>${ratis.version}</version>
-      </dependency>
-      <dependency>
-        <artifactId>ratis-replicated-map</artifactId>
-        <groupId>org.apache.ratis</groupId>
-        <version>${ratis.version}</version>
-        <type>test-jar</type>
-        <scope>test</scope>
-      </dependency>
-
-      <dependency>
         <artifactId>ratis-server-api</artifactId>
         <groupId>org.apache.ratis</groupId>
         <version>${ratis.version}</version>
@@ -570,7 +529,7 @@
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-assembly-plugin</artifactId>
           <configuration>
-            <!--Defer to the ratis-assembly sub-module.  It does all assembly-->
+            <!--Defer to the ratis-hadoop-projects-assembly sub-module.  It does all assembly-->
             <skipAssembly>true</skipAssembly>
           </configuration>
         </plugin>
diff --git a/ratis-assembly/src/main/assembly/examples-bin.xml b/ratis-assembly/src/main/assembly/examples-bin.xml
deleted file mode 100644
index 59e8540..0000000
--- a/ratis-assembly/src/main/assembly/examples-bin.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0"?>
-<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
-  <!--
-  /**
-   * Licensed to the Apache Software Foundation (ASF) under one
-   * or more contributor license agreements.  See the NOTICE file
-   * distributed with this work for additional information
-   * regarding copyright ownership.  The ASF licenses this file
-   * to you under the Apache License, Version 2.0 (the
-   * "License"); you may not use this file except in compliance
-   * with the License.  You may obtain a copy of the License at
-   *
-   *     http://www.apache.org/licenses/LICENSE-2.0
-   *
-   * Unless required by applicable law or agreed to in writing, software
-   * distributed under the License is distributed on an "AS IS" BASIS,
-   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   * See the License for the specific language governing permissions and
-   * limitations under the License.
-   */
-  -->
-  <id>examples-bin</id>
-  <formats>
-    <format>tar.gz</format>
-  </formats>
-  <dependencySets>
-    <dependencySet>
-      <includes>
-        <include>org.apache.ratis:ratis-examples</include>
-      </includes>
-      <outputDirectory>examples/lib</outputDirectory>
-    </dependencySet>
-  </dependencySets>
-  <fileSets>
-    <fileSet>
-      <directory>${project.basedir}/..</directory>
-      <outputDirectory>.</outputDirectory>
-      <includes>
-        <include>DISCLAIMER</include>
-      </includes>
-      <fileMode>0644</fileMode>
-    </fileSet>
-    <fileSet>
-      <directory>${project.build.directory}/maven-shared-archive-resources/META-INF/</directory>
-      <outputDirectory>.</outputDirectory>
-      <includes>
-        <include>LICENSE</include>
-        <include>NOTICE</include>
-      </includes>
-      <fileMode>0644</fileMode>
-    </fileSet>
-    <fileSet>
-      <directory>${project.basedir}/src/main/resources</directory>
-      <outputDirectory>.</outputDirectory>
-      <includes>
-        <include>README.md</include>
-      </includes>
-      <fileMode>0644</fileMode>
-    </fileSet>
-    <fileSet>
-      <directory>${project.basedir}/../ratis-examples/src/main/bin</directory>
-      <outputDirectory>examples/bin</outputDirectory>
-      <includes>
-        <include>*.*</include>
-      </includes>
-      <fileMode>755</fileMode>
-    </fileSet>
-    <!-- Include dev support tools -->
-    <fileSet>
-      <directory>${project.basedir}/../dev-support</directory>
-      <outputDirectory>dev-support</outputDirectory>
-      <fileMode>0644</fileMode>
-      <directoryMode>0755</directoryMode>
-    </fileSet>
-    <fileSet>
-      <directory>${project.basedir}/../ratis-examples/src/main/resources</directory>
-      <outputDirectory>examples/conf</outputDirectory>
-      <includes>
-        <include>log4j.properties</include>
-      </includes>
-      <fileMode>644</fileMode>
-    </fileSet>
-  </fileSets>
-</assembly>
diff --git a/ratis-assembly/src/main/assembly/shell-bin.xml b/ratis-assembly/src/main/assembly/shell-bin.xml
deleted file mode 100644
index e586cec..0000000
--- a/ratis-assembly/src/main/assembly/shell-bin.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License. See accompanying LICENSE file.
--->
-<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
-  <id>shell</id>
-  <formats>
-    <format>tar.gz</format>
-  </formats>
-  <fileSets>
-    <fileSet>
-      <directory>${project.basedir}/../ratis-shell/target/</directory>
-      <outputDirectory>lib/shell</outputDirectory>
-      <fileMode>755</fileMode>
-      <includes>
-        <include>ratis-shell-*-jar-with-dependencies.jar</include>
-      </includes>
-    </fileSet>
-    <fileSet>
-      <directory>${project.basedir}/..</directory>
-      <outputDirectory>.</outputDirectory>
-      <includes>
-        <include>DISCLAIMER</include>
-      </includes>
-      <fileMode>0644</fileMode>
-    </fileSet>
-    <fileSet>
-      <directory>${project.build.directory}/maven-shared-archive-resources/META-INF/</directory>
-      <outputDirectory>.</outputDirectory>
-      <includes>
-        <include>LICENSE</include>
-        <include>NOTICE</include>
-      </includes>
-      <fileMode>0644</fileMode>
-    </fileSet>
-    <fileSet>
-      <directory>${project.basedir}/../ratis-shell/src/main/bin</directory>
-      <outputDirectory>bin</outputDirectory>
-      <fileMode>755</fileMode>
-    </fileSet>
-    <fileSet>
-      <directory>${project.basedir}/../ratis-shell/src/main/libexec</directory>
-      <outputDirectory>libexec</outputDirectory>
-      <fileMode>0644</fileMode>
-      <directoryMode>0755</directoryMode>
-    </fileSet>
-    <fileSet>
-      <directory>${project.basedir}/../ratis-shell/src/main/conf</directory>
-      <outputDirectory>conf</outputDirectory>
-      <fileMode>644</fileMode>
-    </fileSet>
-  </fileSets>
-</assembly>
diff --git a/ratis-assembly/pom.xml b/ratis-hadoop-projects-assembly/pom.xml
similarity index 69%
rename from ratis-assembly/pom.xml
rename to ratis-hadoop-projects-assembly/pom.xml
index 2bfb5c3..911c6ad 100644
--- a/ratis-assembly/pom.xml
+++ b/ratis-hadoop-projects-assembly/pom.xml
@@ -15,13 +15,13 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <artifactId>ratis</artifactId>
+    <artifactId>ratis-hadoop-projects</artifactId>
     <groupId>org.apache.ratis</groupId>
     <version>2.3.0-SNAPSHOT</version>
   </parent>
 
-  <artifactId>ratis-assembly</artifactId>
-  <name>Apache Ratis Project Assembly</name>
+  <artifactId>ratis-hadoop-projects-assembly</artifactId>
+  <name>Apache Ratis Hadoop Projects - Project Assembly</name>
 
   <packaging>pom</packaging>
 
@@ -53,12 +53,12 @@
               </properties>
               <resourceBundles>
                 <!-- Will generate META-INF/DEPENDENCIES META-INF/LICENSE META-INF/NOTICE -->
-                <resourceBundle>${project.groupId}:ratis-resource-bundle:${project.version}
+                <resourceBundle>${project.groupId}:ratis-hadoop-projects-resource-bundle:${project.version}
                 </resourceBundle>
               </resourceBundles>
               <supplementalModelArtifacts>
                 <supplementalModelArtifact>
-                  ${project.groupId}:ratis-resource-bundle:${project.version}
+                  ${project.groupId}:ratis-hadoop-projects-resource-bundle:${project.version}
                 </supplementalModelArtifact>
               </supplementalModelArtifacts>
               <supplementalModels>
@@ -118,16 +118,14 @@
       <plugin>
         <artifactId>maven-assembly-plugin</artifactId>
         <configuration>
-          <!--Else will use ratis-assembly as final name.-->
-          <finalName>apache-ratis-${project.version}</finalName>
+          <!--Else will use ratis-hadoop-projects-assembly as final name.-->
+          <finalName>apache-ratis-hadoop-projects-${project.version}</finalName>
           <skipAssembly>false</skipAssembly>
           <appendAssemblyId>true</appendAssemblyId>
           <tarLongFileMode>gnu</tarLongFileMode>
           <descriptors>
             <descriptor>src/main/assembly/src.xml</descriptor>
             <descriptor>src/main/assembly/bin.xml</descriptor>
-            <descriptor>src/main/assembly/examples-bin.xml</descriptor>
-            <descriptor>src/main/assembly/shell-bin.xml</descriptor>
           </descriptors>
         </configuration>
       </plugin>
@@ -161,74 +159,10 @@
     <!-- Intra-project dependencies -->
     <dependency>
       <groupId>org.apache.ratis</groupId>
-      <artifactId>ratis-thirdparty-misc</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.ratis</groupId>
-      <artifactId>ratis-resource-bundle</artifactId>
+      <artifactId>ratis-hadoop-projects-resource-bundle</artifactId>
       <version>${project.version}</version>
       <optional>true</optional>
      </dependency>
-    <dependency>
-      <artifactId>ratis-docs</artifactId>
-      <groupId>org.apache.ratis</groupId>
-    </dependency>
-    <dependency>
-      <artifactId>ratis-proto</artifactId>
-      <groupId>org.apache.ratis</groupId>
-    </dependency>
-    <dependency>
-      <artifactId>ratis-common</artifactId>
-      <groupId>org.apache.ratis</groupId>
-    </dependency>
-    <dependency>
-      <artifactId>ratis-common</artifactId>
-      <groupId>org.apache.ratis</groupId>
-      <type>test-jar</type>
-    </dependency>
-
-    <dependency>
-      <artifactId>ratis-client</artifactId>
-      <groupId>org.apache.ratis</groupId>
-    </dependency>
-    <dependency>
-      <artifactId>ratis-client</artifactId>
-      <groupId>org.apache.ratis</groupId>
-      <type>test-jar</type>
-    </dependency>
-    <dependency>
-      <artifactId>ratis-server-api</artifactId>
-      <groupId>org.apache.ratis</groupId>
-    </dependency>
-    <dependency>
-      <artifactId>ratis-server</artifactId>
-      <groupId>org.apache.ratis</groupId>
-    </dependency>
-    <dependency>
-      <artifactId>ratis-server</artifactId>
-      <groupId>org.apache.ratis</groupId>
-      <type>test-jar</type>
-    </dependency>
-
-    <dependency>
-      <artifactId>ratis-grpc</artifactId>
-      <groupId>org.apache.ratis</groupId>
-    </dependency>
-    <dependency>
-      <artifactId>ratis-grpc</artifactId>
-      <groupId>org.apache.ratis</groupId>
-      <type>test-jar</type>
-    </dependency>
-
-    <dependency>
-      <artifactId>ratis-netty</artifactId>
-      <groupId>org.apache.ratis</groupId>
-    </dependency>
-    <dependency>
-      <artifactId>ratis-netty</artifactId>
-      <groupId>org.apache.ratis</groupId>
-      <type>test-jar</type>
-    </dependency>
 
     <dependency>
       <artifactId>ratis-hadoop</artifactId>
@@ -241,36 +175,6 @@
     </dependency>
 
     <dependency>
-      <artifactId>ratis-test</artifactId>
-      <groupId>org.apache.ratis</groupId>
-    </dependency>
-    <dependency>
-      <artifactId>ratis-test</artifactId>
-      <groupId>org.apache.ratis</groupId>
-      <type>test-jar</type>
-    </dependency>
-
-    <dependency>
-      <artifactId>ratis-examples</artifactId>
-      <groupId>org.apache.ratis</groupId>
-    </dependency>
-    <dependency>
-      <artifactId>ratis-examples</artifactId>
-      <groupId>org.apache.ratis</groupId>
-      <type>test-jar</type>
-    </dependency>
-
-    <dependency>
-      <artifactId>ratis-replicated-map</artifactId>
-      <groupId>org.apache.ratis</groupId>
-    </dependency>
-    <dependency>
-      <artifactId>ratis-replicated-map</artifactId>
-      <groupId>org.apache.ratis</groupId>
-      <type>test-jar</type>
-    </dependency>
-
-    <dependency>
       <artifactId>ratis-logservice</artifactId>
       <groupId>org.apache.ratis</groupId>
     </dependency>
@@ -279,18 +183,6 @@
       <groupId>org.apache.ratis</groupId>
       <type>test-jar</type>
     </dependency>
-    <dependency>
-      <groupId>org.apache.ratis</groupId>
-      <artifactId>ratis-metrics</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.ratis</groupId>
-      <artifactId>ratis-tools</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.ratis</groupId>
-      <artifactId>ratis-shell</artifactId>
-    </dependency>
   </dependencies>
 
   <profiles>
diff --git a/ratis-assembly/src/main/assembly/bin.xml b/ratis-hadoop-projects-assembly/src/main/assembly/bin.xml
similarity index 71%
rename from ratis-assembly/src/main/assembly/bin.xml
rename to ratis-hadoop-projects-assembly/src/main/assembly/bin.xml
index 261cf7c..3d8f44f 100644
--- a/ratis-assembly/src/main/assembly/bin.xml
+++ b/ratis-hadoop-projects-assembly/src/main/assembly/bin.xml
@@ -29,21 +29,10 @@
     <moduleSet>
       <useAllReactorProjects>true</useAllReactorProjects>
       <includes>
-        <include>org.apache.ratis:ratis-assembly</include>
-        <include>org.apache.ratis:ratis-client</include>
-        <include>org.apache.ratis:ratis-common</include>
-        <include>org.apache.ratis:ratis-grpc</include>
+        <include>org.apache.ratis:ratis-hadoop-projects-assembly</include>
         <include>org.apache.ratis:ratis-hadoop</include>
         <include>org.apache.ratis:ratis-logservice</include>
-        <include>org.apache.ratis:ratis-netty</include>
-        <include>org.apache.ratis:ratis-proto</include>
-        <include>org.apache.ratis:ratis-replicated-map</include>
-        <include>org.apache.ratis:ratis-server-api</include>
-        <include>org.apache.ratis:ratis-server</include>
-        <include>org.apache.ratis:ratis-test</include>
-        <include>org.apache.ratis:ratis-metrics</include>
-        <include>org.apache.ratis:ratis-tools</include>
-        <include>org.apache.ratis:ratis-resource-bundle</include>
+        <include>org.apache.ratis:ratis-hadoop-projects-resource-bundle</include>
       </includes>
       <binaries>
         <outputDirectory>jars</outputDirectory>
@@ -71,13 +60,6 @@
       </includes>
       <fileMode>0644</fileMode>
     </fileSet>
-    <fileSet>
-      <directory>${project.basedir}/../ratis-docs/target/classes/docs
-      </directory>
-      <outputDirectory>docs</outputDirectory>
-      <fileMode>0644</fileMode>
-      <directoryMode>0755</directoryMode>
-    </fileSet>
     <!-- Include dev support tools -->
     <fileSet>
       <directory>${project.basedir}/../dev-support</directory>
diff --git a/ratis-assembly/src/main/assembly/src.xml b/ratis-hadoop-projects-assembly/src/main/assembly/src.xml
similarity index 76%
rename from ratis-assembly/src/main/assembly/src.xml
rename to ratis-hadoop-projects-assembly/src/main/assembly/src.xml
index c20441b..3bfcf20 100644
--- a/ratis-assembly/src/main/assembly/src.xml
+++ b/ratis-hadoop-projects-assembly/src/main/assembly/src.xml
@@ -29,23 +29,10 @@
     <moduleSet>
       <useAllReactorProjects>true</useAllReactorProjects>
       <includes>
-        <include>org.apache.ratis:ratis-assembly</include>
-        <include>org.apache.ratis:ratis-client</include>
-        <include>org.apache.ratis:ratis-common</include>
-        <include>org.apache.ratis:ratis-examples</include>
-        <include>org.apache.ratis:ratis-grpc</include>
+        <include>org.apache.ratis:ratis-hadoop-projects-assembly</include>
         <include>org.apache.ratis:ratis-hadoop</include>
         <include>org.apache.ratis:ratis-logservice</include>
-        <include>org.apache.ratis:ratis-netty</include>
-        <include>org.apache.ratis:ratis-proto</include>
-        <include>org.apache.ratis:ratis-docs</include>
-        <include>org.apache.ratis:ratis-replicated-map</include>
-        <include>org.apache.ratis:ratis-server-api</include>
-        <include>org.apache.ratis:ratis-server</include>
-        <include>org.apache.ratis:ratis-test</include>
-        <include>org.apache.ratis:ratis-metrics</include>
-        <include>org.apache.ratis:ratis-tools</include>
-        <include>org.apache.ratis:ratis-resource-bundle</include>
+        <include>org.apache.ratis:ratis-hadoop-projects-resource-bundle</include>
       </includes>
       <sources>
         <excludeSubModuleDirectories>false</excludeSubModuleDirectories>
diff --git a/ratis-assembly/src/main/resources/LICENSE b/ratis-hadoop-projects-assembly/src/main/resources/LICENSE
similarity index 100%
rename from ratis-assembly/src/main/resources/LICENSE
rename to ratis-hadoop-projects-assembly/src/main/resources/LICENSE
diff --git a/ratis-assembly/src/main/resources/NOTICE b/ratis-hadoop-projects-assembly/src/main/resources/NOTICE
similarity index 100%
rename from ratis-assembly/src/main/resources/NOTICE
rename to ratis-hadoop-projects-assembly/src/main/resources/NOTICE
diff --git a/ratis-assembly/src/main/resources/README.md b/ratis-hadoop-projects-assembly/src/main/resources/README.md
similarity index 100%
rename from ratis-assembly/src/main/resources/README.md
rename to ratis-hadoop-projects-assembly/src/main/resources/README.md
diff --git a/ratis-resource-bundle/pom.xml b/ratis-hadoop-projects-resource-bundle/pom.xml
similarity index 90%
rename from ratis-resource-bundle/pom.xml
rename to ratis-hadoop-projects-resource-bundle/pom.xml
index d5f221f..620e06f 100644
--- a/ratis-resource-bundle/pom.xml
+++ b/ratis-hadoop-projects-resource-bundle/pom.xml
@@ -21,14 +21,14 @@
   -->
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <artifactId>ratis</artifactId>
+    <artifactId>ratis-hadoop-projects</artifactId>
     <groupId>org.apache.ratis</groupId>
     <version>2.3.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
 
-  <artifactId>ratis-resource-bundle</artifactId>
-  <name>Apache Ratis - Resource Bundle</name>
+  <artifactId>ratis-hadoop-projects-resource-bundle</artifactId>
+  <name>Apache Ratis Hadoop Projects - Resource Bundle</name>
   <description>licensing info for use when bundling works</description>
 
   <properties>
@@ -51,7 +51,7 @@
         <artifactId>maven-remote-resources-plugin</artifactId>
         <executions>
           <execution>
-            <id>build-ratis-resource-bundle</id>
+            <id>build-ratis-hadoop-projects-resource-bundle</id>
             <goals>
               <goal>bundle</goal>
             </goals>
diff --git a/ratis-resource-bundle/src/main/resources/META-INF/LICENSE.vm b/ratis-hadoop-projects-resource-bundle/src/main/resources/META-INF/LICENSE.vm
similarity index 99%
rename from ratis-resource-bundle/src/main/resources/META-INF/LICENSE.vm
rename to ratis-hadoop-projects-resource-bundle/src/main/resources/META-INF/LICENSE.vm
index 3d9f76a..b8f2d56 100644
--- a/ratis-resource-bundle/src/main/resources/META-INF/LICENSE.vm
+++ b/ratis-hadoop-projects-resource-bundle/src/main/resources/META-INF/LICENSE.vm
@@ -1339,7 +1339,7 @@ No license info included; must update supplemental-models for:
 
 g:${dep.groupId} AND a:${dep.artifactId} AND v:${dep.version}
 
-Until ratis-resource-bundle/src/main/resources/supplemental-models.xml
+Until ratis-hadoop-projects-resource-bundle/src/main/resources/supplemental-models.xml
 is updated, the build should fail.
 #end
 #if(${debug-print-included-work-info.equalsIgnoreCase("true")})
diff --git a/ratis-resource-bundle/src/main/resources/META-INF/NOTICE.vm b/ratis-hadoop-projects-resource-bundle/src/main/resources/META-INF/NOTICE.vm
similarity index 100%
rename from ratis-resource-bundle/src/main/resources/META-INF/NOTICE.vm
rename to ratis-hadoop-projects-resource-bundle/src/main/resources/META-INF/NOTICE.vm
diff --git a/ratis-resource-bundle/src/main/resources/supplemental-models.xml b/ratis-hadoop-projects-resource-bundle/src/main/resources/supplemental-models.xml
similarity index 100%
rename from ratis-resource-bundle/src/main/resources/supplemental-models.xml
rename to ratis-hadoop-projects-resource-bundle/src/main/resources/supplemental-models.xml
diff --git a/ratis-hadoop/pom.xml b/ratis-hadoop/pom.xml
index 310883c..ebbe6e4 100644
--- a/ratis-hadoop/pom.xml
+++ b/ratis-hadoop/pom.xml
@@ -15,7 +15,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <artifactId>ratis</artifactId>
+    <artifactId>ratis-hadoop-projects</artifactId>
     <groupId>org.apache.ratis</groupId>
     <version>2.3.0-SNAPSHOT</version>
   </parent>
diff --git a/ratis-logservice/pom.xml b/ratis-logservice/pom.xml
index fb7aa13..320adf7 100644
--- a/ratis-logservice/pom.xml
+++ b/ratis-logservice/pom.xml
@@ -15,7 +15,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <artifactId>ratis</artifactId>
+    <artifactId>ratis-hadoop-projects</artifactId>
     <groupId>org.apache.ratis</groupId>
     <version>2.3.0-SNAPSHOT</version>
   </parent>