[TD-4690]<test>script:check install package
This commit is contained in:
parent
155b4a66c7
commit
dbe8dd40c1
|
@ -0,0 +1,245 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# This file is used to install database on linux systems. The operating system
|
||||||
|
# is required to use systemd to manage services at boot
|
||||||
|
|
||||||
|
set -e
|
||||||
|
#set -x
|
||||||
|
|
||||||
|
verMode=edge
|
||||||
|
pagMode=full
|
||||||
|
|
||||||
|
iplist=""
|
||||||
|
serverFqdn=""
|
||||||
|
|
||||||
|
# -----------------------Variables definition---------------------
|
||||||
|
script_dir="../release"
|
||||||
|
# Dynamic directory
|
||||||
|
data_dir="/var/lib/taos"
|
||||||
|
log_dir="/var/log/taos"
|
||||||
|
|
||||||
|
data_link_dir="/usr/local/taos/data"
|
||||||
|
log_link_dir="/usr/local/taos/log"
|
||||||
|
|
||||||
|
cfg_install_dir="/etc/taos"
|
||||||
|
|
||||||
|
bin_link_dir="/usr/bin"
|
||||||
|
lib_link_dir="/usr/lib"
|
||||||
|
lib64_link_dir="/usr/lib64"
|
||||||
|
inc_link_dir="/usr/include"
|
||||||
|
|
||||||
|
#install main path
|
||||||
|
install_main_dir="/usr/local/taos"
|
||||||
|
|
||||||
|
# old bin dir
|
||||||
|
sbin_dir="/usr/local/taos/bin"
|
||||||
|
|
||||||
|
temp_version=""
|
||||||
|
fin_result=""
|
||||||
|
|
||||||
|
service_config_dir="/etc/systemd/system"
|
||||||
|
nginx_port=6060
|
||||||
|
nginx_dir="/usr/local/nginxd"
|
||||||
|
|
||||||
|
# Color setting
|
||||||
|
RED='\033[0;31m'
|
||||||
|
GREEN='\033[1;32m'
|
||||||
|
GREEN_DARK='\033[0;32m'
|
||||||
|
GREEN_UNDERLINE='\033[4;32m'
|
||||||
|
NC='\033[0m'
|
||||||
|
|
||||||
|
csudo=""
|
||||||
|
if command -v sudo > /dev/null; then
|
||||||
|
csudo="sudo"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ============================= get input parameters =================================================
|
||||||
|
|
||||||
|
# install.sh -v [server | client] -e [yes | no] -i [systemd | service | ...]
|
||||||
|
|
||||||
|
# set parameters by default value
|
||||||
|
interactiveFqdn=yes # [yes | no]
|
||||||
|
verType=server # [server | client]
|
||||||
|
initType=systemd # [systemd | service | ...]
|
||||||
|
|
||||||
|
while getopts "hv:d:" arg
|
||||||
|
do
|
||||||
|
case $arg in
|
||||||
|
d)
|
||||||
|
#echo "interactiveFqdn=$OPTARG"
|
||||||
|
script_dir=$( echo $OPTARG )
|
||||||
|
;;
|
||||||
|
h)
|
||||||
|
echo "Usage: `basename $0` -d scripy_path"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
?) #unknow option
|
||||||
|
echo "unkonw argument"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
#echo "verType=${verType} interactiveFqdn=${interactiveFqdn}"
|
||||||
|
|
||||||
|
function kill_process() {
|
||||||
|
pid=$(ps -ef | grep "$1" | grep -v "grep" | awk '{print $2}')
|
||||||
|
if [ -n "$pid" ]; then
|
||||||
|
${csudo} kill -9 $pid || :
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function check_file() {
|
||||||
|
#check file whether exists
|
||||||
|
if [ ! -e $1/$2 ];then
|
||||||
|
echo -e "$1/$2 \033[31mnot exists\033[0m!quit"
|
||||||
|
fin_result=$fin_result"\033[31m$temp_version\033[0m test failed!\n"
|
||||||
|
echo -e $fin_result
|
||||||
|
exit 8
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_package_name() {
|
||||||
|
var=$1
|
||||||
|
if [[ $1 =~ 'aarch' ]];then
|
||||||
|
echo ${var::-21}
|
||||||
|
else
|
||||||
|
echo ${var::-17}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function check_link() {
|
||||||
|
#check Link whether exists or broken
|
||||||
|
if [ -L $1 ] ; then
|
||||||
|
if [ ! -e $1 ] ; then
|
||||||
|
echo -e "$1 \033[31Broken link\033[0m"
|
||||||
|
fin_result=$fin_result"\033[31m$temp_version\033[0m test failed!\n"
|
||||||
|
echo -e $fin_result
|
||||||
|
exit 8
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -e "$1 \033[31mnot exists\033[0m!quit"
|
||||||
|
fin_result=$fin_result"\033[31m$temp_version\033[0m test failed!\n"
|
||||||
|
echo -e $fin_result
|
||||||
|
exit 8
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function check_main_path() {
|
||||||
|
#check install main dir and all sub dir
|
||||||
|
main_dir=("" "cfg" "bin" "connector" "driver" "examples" "include" "init.d")
|
||||||
|
for i in ${main_dir[@]};do
|
||||||
|
check_file ${install_main_dir} $i
|
||||||
|
done
|
||||||
|
if [ "$verMode" == "cluster" ]; then
|
||||||
|
nginx_main_dir=("admin" "conf" "html" "sbin" "logs")
|
||||||
|
for i in ${nginx_main_dir[@]};do
|
||||||
|
check_file ${nginx_dir} $i
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
echo -e "Check main path:\033[32mOK\033[0m!"
|
||||||
|
}
|
||||||
|
|
||||||
|
function check_bin_path() {
|
||||||
|
# check install bin dir and all sub dir
|
||||||
|
bin_dir=("taos" "taosd" "taosdemo" "taosdump" "remove.sh" "tarbitrator" "set_core.sh")
|
||||||
|
for i in ${bin_dir[@]};do
|
||||||
|
check_file ${sbin_dir} $i
|
||||||
|
done
|
||||||
|
lbin_dir=("taos" "taosd" "taosdemo" "taosdump" "rmtaos" "tarbitrator" "set_core")
|
||||||
|
for i in ${lbin_dir[@]};do
|
||||||
|
check_link ${bin_link_dir}/$i
|
||||||
|
done
|
||||||
|
if [ "$verMode" == "cluster" ]; then
|
||||||
|
check_file ${nginx_dir}/sbin nginx
|
||||||
|
fi
|
||||||
|
echo -e "Check bin path:\033[32mOK\033[0m!"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function check_lib_path() {
|
||||||
|
# check all links
|
||||||
|
check_link ${lib_link_dir}/libtaos.so
|
||||||
|
check_link ${lib_link_dir}/libtaos.so.1
|
||||||
|
|
||||||
|
if [[ -d ${lib64_link_dir} ]]; then
|
||||||
|
check_link ${lib64_link_dir}/libtaos.so
|
||||||
|
check_link ${lib64_link_dir}/libtaos.so.1
|
||||||
|
fi
|
||||||
|
echo -e "Check lib path:\033[32mOK\033[0m!"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function check_header_path() {
|
||||||
|
# check all header
|
||||||
|
header_dir=("taos.h" "taoserror.h")
|
||||||
|
for i in ${header_dir[@]};do
|
||||||
|
check_link ${inc_link_dir}/$i
|
||||||
|
done
|
||||||
|
echo -e "Check bin path:\033[32mOK\033[0m!"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function check_config_dir() {
|
||||||
|
# check all config
|
||||||
|
check_file ${cfg_install_dir} taos.cfg
|
||||||
|
check_file ${install_main_dir}/cfg taos.cfg.org
|
||||||
|
echo -e "Check conf path:\033[32mOK\033[0m!"
|
||||||
|
}
|
||||||
|
|
||||||
|
function check_log_path() {
|
||||||
|
# check log path
|
||||||
|
check_file ${log_dir}
|
||||||
|
echo -e "Check log path:\033[32mOK\033[0m!"
|
||||||
|
}
|
||||||
|
|
||||||
|
function check_data_path() {
|
||||||
|
# check data path
|
||||||
|
check_file ${data_dir}
|
||||||
|
echo -e "Check data path:\033[32mOK\033[0m!"
|
||||||
|
}
|
||||||
|
|
||||||
|
function install_TDengine() {
|
||||||
|
cd ${script_dir}
|
||||||
|
tar zxf $1
|
||||||
|
temp_version=$(get_package_name $1)
|
||||||
|
cd $(get_package_name $1)
|
||||||
|
echo -e "\033[32muninstall TDengine && install TDengine...\033[0m"
|
||||||
|
rmtaos >/dev/null 2>&1 || echo 'taosd not installed' && echo -e '\n\n' |./install.sh >/dev/null 2>&1
|
||||||
|
echo -e "\033[32mTDengine has been installed!\033[0m"
|
||||||
|
echo -e "\033[32mTDengine is starting...\033[0m"
|
||||||
|
kill_process taos && systemctl start taosd && sleep 10
|
||||||
|
}
|
||||||
|
|
||||||
|
function test_TDengine() {
|
||||||
|
check_main_path
|
||||||
|
check_bin_path
|
||||||
|
check_lib_path
|
||||||
|
check_header_path
|
||||||
|
check_config_dir
|
||||||
|
check_log_path
|
||||||
|
check_data_path
|
||||||
|
result=`taos -s 'create database test ;create table test.tt(ts timestamp ,i int);insert into test.tt values(now,11);select * from test.tt' 2>&1 ||:`
|
||||||
|
if [[ $result =~ "Unable to establish" ]];then
|
||||||
|
echo -e "\033[31mTDengine connect failed\033[0m"
|
||||||
|
fin_result=$fin_result"\033[31m$temp_version\033[0m test failed!\n"
|
||||||
|
echo -e $fin_result
|
||||||
|
exit 8
|
||||||
|
fi
|
||||||
|
echo -e "Check TDengine connect:\033[32mOK\033[0m!"
|
||||||
|
fin_result=$fin_result"\033[32m$temp_version\033[0m test OK!\n"
|
||||||
|
}
|
||||||
|
# ## ==============================Main program starts from here============================
|
||||||
|
TD_package_name=`ls ${script_dir}/*server*gz |awk -F '/' '{print $NF}' `
|
||||||
|
temp=`pwd`
|
||||||
|
for i in $TD_package_name;do
|
||||||
|
if [[ $i =~ 'enterprise' ]];then
|
||||||
|
verMode="cluster"
|
||||||
|
else
|
||||||
|
verMode=""
|
||||||
|
fi
|
||||||
|
cd $temp
|
||||||
|
install_TDengine $i
|
||||||
|
test_TDengine
|
||||||
|
done
|
||||||
|
echo "============================================================"
|
||||||
|
echo -e $fin_result
|
Loading…
Reference in New Issue