mirror of
https://github.com/ClusterCockpit/cc-docker.git
synced 2025-03-14 19:05:56 +01:00
99 lines
4.3 KiB
Bash
Executable File
99 lines
4.3 KiB
Bash
Executable File
#!/bin/bash
|
|
echo ""
|
|
echo "|--------------------------------------------------------------------------------------|"
|
|
echo "| Welcome to cc-docker automatic deployment script. |"
|
|
echo "| Make sure you have sudo rights to run docker services |"
|
|
echo "| This script assumes that docker command is added to sudo group |"
|
|
echo "| This means that docker commands do not explicitly require |"
|
|
echo "| 'sudo' keyword to run. You can use this following command: |"
|
|
echo "| |"
|
|
echo "| > sudo groupadd docker |"
|
|
echo "| > sudo usermod -aG docker $USER |"
|
|
echo "| |"
|
|
echo "| This will add docker to the sudo usergroup and all the docker |"
|
|
echo "| command will run as sudo by default without requiring |"
|
|
echo "| 'sudo' keyword. |"
|
|
echo "|--------------------------------------------------------------------------------------|"
|
|
echo ""
|
|
|
|
# Check cc-backend if exists
|
|
if [ ! -d cc-backend ]; then
|
|
echo "'cc-backend' not yet prepared! Please clone cc-backend repository before starting this script."
|
|
echo -n "Stopped."
|
|
exit
|
|
fi
|
|
|
|
# Creates data directory if it does not exists.
|
|
# Contains all the mount points required by all the docker services
|
|
# and their static files.
|
|
if [ ! -d data ]; then
|
|
mkdir -m777 data
|
|
fi
|
|
|
|
# Invokes the dataGenerationScript.sh, which then populates the required
|
|
# static files by the docker services. These static files are required by docker services after startup.
|
|
chmod u+x dataGenerationScript.sh
|
|
./dataGenerationScript.sh
|
|
|
|
# Update timestamps for all the checkpoints in data/cc-metric-store-source
|
|
# and dumps new files in data/cc-metric-store.
|
|
perl ./migrateTimestamps.pl
|
|
|
|
# Create archive folder for rewritten ccms checkpoints
|
|
if [ ! -d data/cc-metric-store/archive ]; then
|
|
mkdir -p data/cc-metric-store/archive
|
|
fi
|
|
|
|
# cleanup sources
|
|
if [ -d data/cc-metric-store-source ]; then
|
|
rm -r data/cc-metric-store-source
|
|
fi
|
|
|
|
# Just in case user forgot manually shutdown the docker services.
|
|
docker-compose down
|
|
docker-compose down --remove-orphans
|
|
|
|
# This automatically builds the base docker image for slurm.
|
|
# All the slurm docker service in docker-compose.yml refer to
|
|
# the base image created from this directory.
|
|
cd slurm/base/
|
|
make
|
|
cd ../..
|
|
|
|
# Starts all the docker services from docker-compose.yml.
|
|
docker-compose build
|
|
docker-compose up -d
|
|
|
|
cd cc-backend
|
|
if [ ! -d var ]; then
|
|
wget https://hpc-mover.rrze.uni-erlangen.de/HPC-Data/0x7b58aefb/eig7ahyo6fo2bais0ephuf2aitohv1ai/job-archive-demo.tar
|
|
tar xf job-archive-demo.tar
|
|
rm ./job-archive-demo.tar
|
|
|
|
cp ./configs/env-template.txt .env
|
|
cp -f ../misc/config.json config.json
|
|
|
|
make
|
|
|
|
./cc-backend -migrate-db
|
|
./cc-backend --init-db --add-user demo:admin:demo
|
|
cd ..
|
|
else
|
|
cd ..
|
|
echo "'cc-backend/var' exists. Cautiously exiting."
|
|
fi
|
|
|
|
echo ""
|
|
echo "|--------------------------------------------------------------------------------------|"
|
|
echo "| Check logs for each slurm service by using these commands: |"
|
|
echo "| docker-compose logs slurmctld |"
|
|
echo "| docker-compose logs slurmdbd |"
|
|
echo "| docker-compose logs slurmrestd |"
|
|
echo "| docker-compose logs node01 |"
|
|
echo "|======================================================================================|"
|
|
echo "| Setup complete, containers are up by default: Shut down with 'docker-compose down'. |"
|
|
echo "| Use './cc-backend/cc-backend -server' to start cc-backend. |"
|
|
echo "| Use scripts in /scripts to load data into influx or mariadb. |"
|
|
echo "|--------------------------------------------------------------------------------------|"
|
|
echo ""
|