diff options
Diffstat (limited to 'evergreen/jepsen_docker/setup.sh')
| -rw-r--r-- | evergreen/jepsen_docker/setup.sh | 46 |
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 |
