add ccsdk-sli-northbound
[infra/cicd.git] / jjb / geode / apache-geode-slave / slave_setup.sh
index 306636a4afaaceced4750303bf1c667bdc520fd4..8026e57742aef3809bcc4a93fce93fe3d4cba613 100755 (executable)
@@ -19,7 +19,12 @@ set -o nounset
 set -o errexit
 set -o pipefail
 set -o xtrace
+
+# Global variables
 DPKG_LOCK="/var/lib/dpkg/lock-frontend"
+DOCKER_VERSION="5:20.10.20~3-0~ubuntu-bionic"
+DOCKER_COMPOSE_URL="https://github.com/docker/compose/releases/download"
+DOCKER_COMPOSE_VERSION="1.29.2"
 
 # Wait for other apt process to finish by checking the dpkg lock file.
 try=0
@@ -41,14 +46,16 @@ sudo apt-get install -y --no-install-recommends \
 
 curl -sSL https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
 sudo add-apt-repository "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main"
+curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
+sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
 sudo apt-get update
 set +e && sudo apt-get purge -y google-cloud-sdk lxc-docker && set -e
 sudo apt-get install -y --no-install-recommends \
     aptitude \
     ca-certificates \
     cgroupfs-mount \
-    docker-compose \
-    docker-ce \
+    docker-ce=${DOCKER_VERSION} \
+    docker-ce-cli=${DOCKER_VERSION} \
     git \
     google-chrome-stable \
     htop \
@@ -63,10 +70,27 @@ sudo apt-get install -y --no-install-recommends \
     unzip \
     vim
 
+# Get correct docker-compose version required for geode-AcceptanceTest
+sudo curl -L "${DOCKER_COMPOSE_URL}/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" \
+          -o /usr/local/bin/docker-compose
+sudo chmod +x /usr/local/bin/docker-compose
+
+# Increase number of Max threads that infra user (UserTasksMax) and systemd (DefaultTasksMax) can create.
+# This is required for Geode UpgradeTest to avoid error:
+# java.lang.OutOfMemoryError: unable to create native thread: possibly out of memory or process/resource limits reached
+# todo: This should be done during image creation
+sudo sed -i 's/.*DefaultTasksMax=.*/DefaultTasksMax=infinity/g' /etc/systemd/system.conf
+sudo sed -i 's/.*UserTasksMax=.*/UserTasksMax=infinity/g' /etc/systemd/logind.conf
+sudo systemctl set-property user-$(id -u infra).slice TasksMax=infinity
+sudo systemctl daemon-reload
+sudo systemctl restart systemd-logind.service
+
 sudo cp -R /etc/alternatives /etc/keep-alternatives
+sudo apt-get update
 sudo apt-get install -y --no-install-recommends \
     openjdk-8-jdk \
-    openjdk-11-jdk
+    openjdk-11-jdk \
+    openjdk-17-jdk
 sudo rm -rf /etc/alternatives
 sudo mv /etc/keep-alternatives /etc/alternatives