127 lines
3.8 KiB
Bash
Executable File
127 lines
3.8 KiB
Bash
Executable File
#!/bin/bash
|
|
echo "Executing buildClusterEnv.sh"
|
|
CURR_DIR=`pwd`
|
|
IN_TDINTERNAL="community"
|
|
|
|
if [ $# != 6 ]; then
|
|
echo "argument list need input : "
|
|
echo " -n numOfNodes"
|
|
echo " -v version"
|
|
echo " -d docker dir"
|
|
exit 1
|
|
fi
|
|
|
|
NUM_OF_NODES=
|
|
VERSION=
|
|
DOCKER_DIR=
|
|
while getopts "n:v:d:" arg
|
|
do
|
|
case $arg in
|
|
n)
|
|
NUM_OF_NODES=$OPTARG
|
|
;;
|
|
v)
|
|
VERSION=$OPTARG
|
|
;;
|
|
d)
|
|
DOCKER_DIR=$OPTARG
|
|
;;
|
|
?)
|
|
echo "unkonwn argument"
|
|
;;
|
|
esac
|
|
done
|
|
|
|
function prepareBuild {
|
|
|
|
if [ -d $CURR_DIR/../../../release ]; then
|
|
echo release exists
|
|
rm -rf $CURR_DIR/../../../release/*
|
|
fi
|
|
|
|
cd $CURR_DIR/../../../packaging
|
|
|
|
if [[ "$CURR_DIR" == *"$IN_TDINTERNAL"* ]]; then
|
|
if [ ! -e $DOCKER_DIR/TDengine-enterprise-server-$VERSION-Linux-x64.tar.gz ] || [ ! -e $DOCKER_DIR/TDengine-enterprise-arbitrator-$VERSION-Linux-x64.tar.gz ]; then
|
|
|
|
echo "generating TDeninge enterprise packages"
|
|
./release.sh -v cluster -n $VERSION >> /dev/null 2>&1
|
|
|
|
if [ ! -e $CURR_DIR/../../../release/TDengine-enterprise-server-$VERSION-Linux-x64.tar.gz ]; then
|
|
echo "no TDengine install package found"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -e $CURR_DIR/../../../release/TDengine-enterprise-arbitrator-$VERSION-Linux-x64.tar.gz ]; then
|
|
echo "no arbitrator install package found"
|
|
exit 1
|
|
fi
|
|
|
|
cd $CURR_DIR/../../../release
|
|
mv TDengine-enterprise-server-$VERSION-Linux-x64.tar.gz $DOCKER_DIR
|
|
mv TDengine-enterprise-arbitrator-$VERSION-Linux-x64.tar.gz $DOCKER_DIR
|
|
fi
|
|
else
|
|
if [ ! -e $DOCKER_DIR/TDengine-server-$VERSION-Linux-x64.tar.gz ] || [ ! -e $DOCKER_DIR/TDengine-arbitrator-$VERSION-Linux-x64.tar.gz ]; then
|
|
|
|
echo "generating TDeninge community packages"
|
|
./release.sh -v edge -n $VERSION >> /dev/null 2>&1
|
|
|
|
if [ ! -e $CURR_DIR/../../../release/TDengine-server-$VERSION-Linux-x64.tar.gz ]; then
|
|
echo "no TDengine install package found"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -e $CURR_DIR/../../../release/TDengine-arbitrator-$VERSION-Linux-x64.tar.gz ]; then
|
|
echo "no arbitrator install package found"
|
|
exit 1
|
|
fi
|
|
|
|
cd $CURR_DIR/../../../release
|
|
mv TDengine-server-$VERSION-Linux-x64.tar.gz $DOCKER_DIR
|
|
mv TDengine-arbitrator-$VERSION-Linux-x64.tar.gz $DOCKER_DIR
|
|
fi
|
|
fi
|
|
|
|
rm -rf $DOCKER_DIR/*.yml
|
|
cd $CURR_DIR
|
|
|
|
cp *.yml $DOCKER_DIR
|
|
cp Dockerfile $DOCKER_DIR
|
|
}
|
|
|
|
function clusterUp {
|
|
echo "docker compose start"
|
|
|
|
cd $DOCKER_DIR
|
|
|
|
if [[ "$CURR_DIR" == *"$IN_TDINTERNAL"* ]]; then
|
|
docker_run="PACKAGE=TDengine-enterprise-server-$VERSION-Linux-x64.tar.gz TARBITRATORPKG=TDengine-enterprise-arbitrator-$VERSION-Linux-x64.tar.gz DIR=TDengine-enterprise-server-$VERSION DIR2=TDengine-enterprise-arbitrator-$VERSION VERSION=$VERSION DATADIR=$DOCKER_DIR docker-compose -f docker-compose.yml "
|
|
else
|
|
docker_run="PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz TARBITRATORPKG=TDengine-arbitrator-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION DIR2=TDengine-arbitrator-$VERSION VERSION=$VERSION DATADIR=$DOCKER_DIR docker-compose -f docker-compose.yml "
|
|
fi
|
|
|
|
if [ $NUM_OF_NODES -ge 2 ];then
|
|
echo "create $NUM_OF_NODES dnodes"
|
|
for((i=3;i<=$NUM_OF_NODES;i++))
|
|
do
|
|
if [ ! -f node$i.yml ];then
|
|
echo "node$i.yml not exist"
|
|
cp node3.yml node$i.yml
|
|
sed -i "s/td2.0-node3/td2.0-node$i/g" node$i.yml
|
|
sed -i "s/'tdnode3'/'tdnode$i'/g" node$i.yml
|
|
sed -i "s#/node3/#/node$i/#g" node$i.yml
|
|
sed -i "s#hostname: tdnode3#hostname: tdnode$i#g" node$i.yml
|
|
sed -i "s#ipv4_address: 172.27.0.9#ipv4_address: 172.27.0.`expr $i + 6`#g" node$i.yml
|
|
fi
|
|
docker_run=$docker_run" -f node$i.yml "
|
|
done
|
|
docker_run=$docker_run" up -d"
|
|
fi
|
|
echo $docker_run |sh
|
|
|
|
echo "docker compose finish"
|
|
}
|
|
|
|
prepareBuild
|
|
clusterUp |