summaryrefslogtreecommitdiff
path: root/evergreen/jepsen_docker/setup.sh
diff options
context:
space:
mode:
Diffstat (limited to 'evergreen/jepsen_docker/setup.sh')
-rw-r--r--evergreen/jepsen_docker/setup.sh46
1 files changed, 37 insertions, 9 deletions
diff --git a/evergreen/jepsen_docker/setup.sh b/evergreen/jepsen_docker/setup.sh
index 2512f03a6a1..cc76e20e541 100644
--- a/evergreen/jepsen_docker/setup.sh
+++ b/evergreen/jepsen_docker/setup.sh
@@ -1,15 +1,43 @@
set -euo pipefail
-# Clone our internal fork of jepsen-io/jepsen to get the core
-# functionality with a few tweaks meant for evergreen integration.
-git clone --branch=v0.2.0-evergreen-master git@github.com:10gen/jepsen.git jepsen
+if [ ! $(which docker) ]; then
+ sudo apt-get update
+ sudo apt-get install -yq \
+ apt-transport-https \
+ ca-certificates \
+ curl \
+ gnupg \
+ lsb-release
-# Copy our mongodb source for jepsen to run into the docker area to be
-# copied into the image during the build process.
-cp -rf src/dist-test jepsen/docker/node
+ if [ ! -f "/usr/share/keyrings/docker-archive-keyring.gpg" ]; then
+ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
+ fi
+
+ set +e
+ if ! grep "https://download.docker.com/linux/debian" "/etc/apt/sources.list.d/docker.list"; then
+ echo \
+ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
+ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
+ fi
+ set -e
+
+ sudo apt-get update
+ sudo apt-get install -yq docker-ce docker-ce-cli containerd.io
+ sudo docker run hello-world
+fi
-# Clone our internal tests to run
-git clone --branch=v0.2.0 git@github.com:10gen/jepsen-io-mongodb.git jepsen/docker/control/mongodb
+if [ ! $(which docker-compose) ]; then
+ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/bin/docker-compose
+ sudo chmod +x /usr/bin/docker-compose
+fi
+
+sudo chmod 777 /var/run/docker.sock
+
+git clone --branch=evergreen-master git@github.com:10gen/jepsen.git jepsen
+cp -rf src/dist-test jepsen/docker/node
+# place the mongodb jepsen test adjacent to the control node's Dockerfile.
+# it'll get copied into the image during the build process
+git clone --branch=no-download-master git@github.com:10gen/jepsen-io-mongodb.git jepsen/docker/control/mongodb
-# Kill any running containers
+# kill any running containers
sudo docker container kill $(docker ps -q) || true