52 lines
1.2 KiB
Bash
Executable file
52 lines
1.2 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Create workdir
|
|
XP_NAME=$1
|
|
XP_FOLDER=`mktemp -d -p . ${XP_NAME}-XXXXXXXXXXXXXXXX`
|
|
XP_ID=`echo $XP_FOLDER|cut -c 3-`
|
|
cd $XP_FOLDER
|
|
COUNT=$2
|
|
INTERVAL=$3
|
|
SIZE=$4
|
|
ALLOWED_BOOTSTRAP=190
|
|
ALLOWED_TIME=`expr $(expr ${COUNT} * ${INTERVAL}) / 1000 + ${ALLOWED_BOOTSTRAP}`
|
|
echo "Will run for ${ALLOWED_TIME} (count=$1, interval=$2)"
|
|
|
|
# Create folders
|
|
docker run \
|
|
--rm \
|
|
-ti \
|
|
-v `pwd`:/mnt \
|
|
ubuntu \
|
|
bash -c "cd /mnt; mkdir -p ./{shared,log,res}; chown -R 1000 ./{shared,log,res}"
|
|
|
|
# Run server
|
|
docker run \
|
|
--privileged \
|
|
--rm \
|
|
-d \
|
|
--name "$XP_ID-server" \
|
|
-v `pwd`/shared:/home/donar/shared \
|
|
-v `pwd`/log:/home/donar/log \
|
|
registry.gitlab.inria.fr/qdufour/donar \
|
|
${XP_NAME}-server >/dev/null
|
|
|
|
sleep 10
|
|
|
|
# Run client
|
|
docker run \
|
|
--privileged \
|
|
--rm \
|
|
--name "$XP_ID-client" \
|
|
$( [[ "${XP_NAME}" == 'witness' ]] && echo "--net=container:$XP_ID-server" ) \
|
|
-v `pwd`/res:/home/donar/res \
|
|
-v `pwd`/shared:/home/donar/shared \
|
|
-v `pwd`/log:/home/donar/log \
|
|
registry.gitlab.inria.fr/qdufour/donar \
|
|
${XP_NAME}-client $COUNT $INTERVAL $SIZE >/dev/null
|
|
|
|
#sleep $ALLOWED_TIME
|
|
|
|
# Kill
|
|
#docker kill "$XP_ID-client" || true
|
|
docker kill "$XP_ID-server" || true
|