aboutsummaryrefslogtreecommitdiffstats
path: root/stacks/lwip_stack/release/upgrade_nstack.sh
diff options
context:
space:
mode:
Diffstat (limited to 'stacks/lwip_stack/release/upgrade_nstack.sh')
-rw-r--r--stacks/lwip_stack/release/upgrade_nstack.sh452
1 files changed, 0 insertions, 452 deletions
diff --git a/stacks/lwip_stack/release/upgrade_nstack.sh b/stacks/lwip_stack/release/upgrade_nstack.sh
deleted file mode 100644
index 9302da6..0000000
--- a/stacks/lwip_stack/release/upgrade_nstack.sh
+++ /dev/null
@@ -1,452 +0,0 @@
-#!/bin/bash
-
-. ./script/nstack_var.sh
-. ./script/nstack_fun.sh
-
-VERSION_CHK=0
-UPG_MASTER=0
-
-# OLD_VERSION indicates the nStackServer version, in order to support Version upgrade and rollback feature
-# OLD_VERSION=1 B031~newest
-# OLD_VERSION=0 B020~B030
-OLD_VERSION=1
-cur_user=`whoami`
-
-upg_pre_chk()
-{
- ##########check input info###########################
- if [ -z "${DST_VER_PATH}" ]; then
- log $LINENO "dst ${DST_VER_PATH} path error!"
- return 1
- fi
-
- if [ "x${UPG_RBK}" != "x1" -a "x${UPG_RBK}" != "x2" ]; then
- log $LINENO "type error ${UPG_RBK}!"
- return 1
- fi
-
- ##########check src version info######################
- SRC_STOP_FILE=${SRC_VER_PATH}/stop_nstack.sh
- if [ ! -f "$SRC_STOP_FILE" ]; then
- log $LINENO "${SRC_STOP_FILE} path error!"
- return 1
- fi
-
- MASTER_PATH=`get_nstack_bin nStackMaster`
- if [ -z "${MASTER_PATH}" ]; then
- log $LINENO "master not start"
- return 1
- fi
-
- if [ ! -d "${MASTER_PATH}${MASTERBIN}" ]; then
- log $LINENO "${MASTER_PATH} path error!"
- return 1
- fi
-
- SRC_VERSION=`get_version 1`
- if [ -z "${SRC_VERSION}" ]; then
- log $LINENO "get srcVersion error"
- exit 1
- fi
-
- ###########check dst version info######################
- DST_RUN_FILE=${DST_VER_PATH}/script/run_nstack_main.sh
- if [ ! -f "$DST_RUN_FILE" ]; then
- log $LINENO "${DST_RUN_FILE} path error. Try the path of older nstack version then."
- DST_RUN_FILE=${DST_VER_PATH}/bin/run_nstack_main.sh
- OLD_VERSION=0
- if [ ! -f "$DST_RUN_FILE" ]; then
- log $LINENO "${DST_RUN_FILE} older path error!"
- return 1
- fi
- fi
-
- DST_STOP_FILE=${DST_VER_PATH}/stop_nstack.sh
- if [ ! -f "$DST_STOP_FILE" ]; then
- log $LINENO "${DST_STOP_FILE} path error!"
- return 1
- fi
-
- DST_STAT_FILE=${DST_VER_PATH}/start_nstack.sh
- if [ ! -f "$DST_STAT_FILE" ]; then
- log $LINENO "${DST_STAT_FILE} path error!"
- return 1
- fi
-
- if [ ! -x "${DST_VER_PATH}/bin/nStackCtrl" ]; then
- log $LINENO "${DST_VER_PATH} path nStackCtrl exec error!"
- return 1
- fi
-
- DST_VERSION=`get_version 4 ${DST_VER_PATH}/bin/nStackCtrl`
- if [ -z "${DST_VERSION}" ]; then
- log $LINENO "get dstversion error"
- return 1
- fi
-}
-
-restart_upgrade()
-{
- local monipid=`pidof monit`
- local stop_moni=0
- if [ ! -z "${monipid}" ]; then
- for i in `seq 60`
- do
- if [ ${cur_user} = "paas" ]; then
- stop_fin=`/var/ICTS_BASE/Monit/bin/monit summary | grep nstack | grep "Not monitored"`
- else
- stop_fin=`su paas -s /bin/bash -c "/var/ICTS_BASE/Monit/bin/monit summary" | grep nstack | grep "Not monitored"`
- fi
- if [ -n "${stop_fin}" ]; then
- break;
- fi
-
- if [ $stop_moni -eq 0 ]; then
- if [ ${cur_user} = "paas" ]; then
- /var/ICTS_BASE/Monit/bin/monit unmonitor nstack
- else
- su paas -s /bin/bash -c "/var/ICTS_BASE/Monit/bin/monit unmonitor nstack"
- fi
- stop_moni=1
- log $LINENO "stop monit"
- fi
-
- sleep 1
- done
- cd ${SRC_VER_PATH}
- ./stop_nstack.sh
- cd -
- cd ${DST_VER_PATH}
- if [ -n "${LOG_PATH}" ]; then
- ./start_nstack.sh -l $LOG_PATH -i $hostinfo_path
- else
- ./start_nstack.sh -i $hostinfo_path
- fi
- cd -
-
- log $LINENO "with monit restart"
- if [ $stop_moni -eq 1 ]; then
- if [ ${cur_user} = "paas" ]; then
- /var/ICTS_BASE/Monit/bin/monit monitor nstack
- else
- su paas -s /bin/bash -c "/var/ICTS_BASE/Monit/bin/monit monitor nstack"
- fi
- log $LINENO "monit restart"
- fi
- else
- cd ${SRC_VER_PATH}
- ./stop_nstack.sh
- cd -
- cd ${DST_VER_PATH}
- if [ -n "${LOG_PATH}" ]; then
- ./start_nstack.sh -l $LOG_PATH -i $hostinfo_path
- else
- ./start_nstack.sh -i $hostinfo_path
- fi
- cd -
- log $LINENO "none monit restart"
- fi
- return 0
-}
-
-run_upgrade()
-{
-
- if [ -n "${DST_RUN_FILE}" ]; then
- if [ $OLD_VERSION -ge 1 ]; then
- ln -s -f "$DST_RUN_FILE" "${DST_VER_PATH}/script/${RUN_NSTACK_FILE}"
- else
- ln -s -f "$DST_RUN_FILE" "${DST_VER_PATH}/bin/${RUN_NSTACK_FILE}"
- fi
- if [ $? -ne 0 ]; then
- log $LINENO "dst version link failed!"
- return 1
- fi
- fi
-
- # copy old config to avoid config change issue
- copy_config $SRC_VER_PATH $DST_VER_PATH
-
- ./bin/nStackCtrl --module vermgr -t $UPG_RBK -s $SRC_VERSION -d $DST_VERSION
- ret=$?
- if [ $ret -eq 121 ]; then
- restart_upgrade
- WAIT_TIME=50
- RESTART_MASTER=1
- return 0
- fi
-
- if [ $ret -ne 0 ]; then
- log $LINENO "nStackCtrl send vermsg err $ret code"
- return 1
- fi
-
- nStackMain_pid=`pidof nStackMain`
- if [ -n "${DST_RUN_FILE}" ]; then
- ln -s -f "$DST_RUN_FILE" "${MASTER_PATH}${RUN_NSTACK_FILE}"
- if [ $? -ne 0 ]; then
- log $LINENO "link failed!"
- kill -9 $nStackMain_pid
- return 1
- fi
- fi
- kill -9 $nStackMain_pid
- return 0
-}
-
-after_upg_chk()
-{
- for i in `seq $WAIT_TIME`
- do
- NEW_DST_VERSION=`get_version 1`
- if [ -n "${NEW_DST_VERSION}" ]; then
- if [ "$NEW_DST_VERSION" != "$DST_VERSION" ]; then
- log $LINENO "new version:$NEW_DST_VERSION maybe error! expect version is:$DST_VERSION"
- else
- break;
- fi
- fi
- sleep 1
- done
-
- if [ -z "${NEW_DST_VERSION}" ]; then
- log $LINENO "nStackCtrl get dstVersion error"
- return 1
- fi
-
- if [ "$NEW_DST_VERSION" != "$DST_VERSION" -a $VERSION_CHK -eq 1 ]; then
- log $LINENO "new version:$NEW_DST_VERSION maybe error! expect version is:$DST_VERSION"
- return 1
- fi
-
- DST_MAIN_PATH=`get_nstack_bin nStackMain`
- if [ -z "${DST_MAIN_PATH}" ]; then
- log $LINENO "main not start"
- return 1
- fi
-
- if [ "$DST_MAIN_PATH" != "${DST_VER_PATH}/bin/" ]; then
- log $LINENO "main start failed run;$DST_MAIN_PATH expect:${DST_VER_PATH}/script !"
- return 1
- fi
-}
-
-
-run_upgrade_master()
-{
- core_mask=`get_core_mask`
- START_TYPE="secondary"
- ./bin/nStackCtrl --module vermgr -t $UPG_RBK -s $SRC_VERSION -d $DST_VERSION -p 2
- ret=$?
- if [ $ret -ne 0 ]; then
- log $LINENO "nStackMaster nStackCtrl send vermsg err $ret code"
- return 1
- fi
-
- nStackMaster_pid=`pidof nStackMaster`
- kill -9 $nStackMaster_pid
- cd ${DST_VER_PATH}/script/
- ./run_nstack_master.sh ${core_mask} $HUGE_DIR $MEM_SIZE $START_TYPE
- log $LINENO "./script/run_nstack_master.sh ${core_mask} $HUGE_DIR $MEM_SIZE $START_TYPE"
- cd -
- return 0
-}
-
-
-after_upg_master_chk()
-{
- for i in `seq 10`
- do
- NEW_MAS_VERSION=`get_version 2`
- if [ -n "${NEW_MAS_VERSION}" ]; then
- if [ "$NEW_MAS_VERSION" != "$DST_VERSION" ]; then
- log $LINENO "new version:$NEW_MAS_VERSION maybe error! expect version is:$DST_VERSION"
- else
- break;
- fi
- fi
- sleep 1
- done
-
- if [ -z "${NEW_MAS_VERSION}" ]; then
- log $LINENO "nStackCtrl get dstVersion error"
- return 1
- fi
-
- if [ "$NEW_MAS_VERSION" != "$DST_VERSION" -a $VERSION_CHK -eq 1 ]; then
- log $LINENO "new version:$NEW_MAS_VERSION maybe error! expect version is:$DST_VERSION"
- return 1
- fi
-
- DST_MAS_PATH=`get_nstack_bin nStackMaster`
- if [ -z "${DST_MAS_PATH}" ]; then
- log $LINENO "master not start"
- return 1
- fi
-
- if [ "$DST_MAS_PATH" != "${DST_VER_PATH}/script/" ]; then
- log $LINENO "main start failed run;$DST_MAS_PATH expect:${DST_VER_PATH}/script !"
- return 1
- fi
- return 0
-}
-
-opr_suc()
-{
- log $LINENO "operation successful $SRC_VERSION to $NEW_DST_VERSION"
-}
-
-mod_log_path()
-{
- local dst_proc=$1
- local dst_log_path=$2
- ./bin/nStackCtrl --module setlog -n maspath -v ${dst_log_path} -p $dst_proc
- ret=$?
- if [ $ret -ne 0 ]; then
- log $LINENO "mod_log_path error err $ret code"
- return 1
- fi
- return 0
-}
-
-ini_file_path="invalid_path_upgrade"
-
-while getopts 's:d:t:l:i:' opt
-do
- case $opt in
- s)
- SRC_VER_PATH=`get_abs_path $OPTARG`
- ;;
- :)
- echo "-$OPTARG needs an argument"
- exit 1
- ;;
- d)
- DST_VER_PATH=`get_abs_path $OPTARG`
- ;;
- :)
- echo "-$OPTARG needs an argument"
- exit 1
- ;;
- t)
- UPG_RBK=$OPTARG
- ;;
- :)
- echo "-$OPTARG needs an argument"
- exit 1
- ;;
- l)
- LOG_PATH=`get_abs_path $OPTARG`
- ;;
- :)
- echo "-$OPTARG needs an argument"
- exit 1
- ;;
- i)
- ini_file_path=`get_abs_path $OPTARG`
- ;;
- :)
- echo "-$OPTARG needs an argument"
- exit 1
- ;;
- *)
- echo "command not recognized"
- usage
- exit 1
- ;;
- esac
-done
-
-if [ -z $ini_file_path ]; then
- hostinfo_path="invalid_path_upgrade"
- else
- hostinfo_path=$ini_file_path
-fi
-
-(
-flock -e -n 201
-if [ $? -eq 1 ]
-then
- log $LINENO "another upgrade process is running now, exit"
- exit 1
-fi
-
-if [ -n "${LOG_PATH}" ]; then
- modify_nstack_log_path ${LOG_PATH}
-fi
-modify_log_var
-) 201>>./uplockfile
-
-if [ -f "uplockfile" ]; then
- rm uplockfile
-fi
-
-. ./script/nstack_var.sh
-
-RESTART_MASTER=0
-WAIT_TIME=60
-
-log $LINENO "######################upgrade nstack######################"
-log $LINENO "src ver path ${SRC_VER_PATH},dst ver path ${DST_VER_PATH}, type ${UPG_RBK}, log path ${LOG_PATH}"
-
-upg_pre_chk
-ret=$?
-if [ $ret -ne 0 ]; then
- log $LINENO "pre_chk error err $ret code"
- exit 1
-fi
-
-if [ "${DST_VERSION}" = "${SRC_VERSION}" -a $VERSION_CHK -eq 1 ]; then
- log $LINENO "version equal ${DST_VERSION} ${SRC_VERSION}"
- exit 0
-fi
-log $LINENO "prepare ok"
-
-log $LINENO "src ver $SRC_VERSION with master path $MASTER_PATH,dst ver $DST_VERSION,dst run file $DST_RUN_FILE, type ${UPG_RBK}"
-run_upgrade
-ret=$?
-if [ $ret -ne 0 ]; then
- log $LINENO "run_proc error err $ret code"
- exit 1
-fi
-
-log $LINENO "wait new version start"
-sleep 2
-after_upg_chk
-ret=$?
-if [ $ret -ne 0 ]; then
- log $LINENO "after_chk error err $ret code"
- exit 1
-fi
-
-if [ $RESTART_MASTER -ne 0 ]; then
- log $LINENO "master has restart!"
- opr_suc
- exit 0
-fi
-
-if [ $UPG_MASTER -eq 0 ]; then
- if [ -n "${LOG_PATH}" ]; then
- mod_log_path 2 ${LOG_PATH}
- fi
- opr_suc
- exit 0
-fi
-
-run_upgrade_master
-ret=$?
-if [ $ret -ne 0 ]; then
- log $LINENO "run_proc master error err $ret code"
- exit 1
-fi
-
-log $LINENO "wait new version master start"
-sleep 2
-after_upg_master_chk
-ret=$?
-if [ $ret -ne 0 ]; then
- log $LINENO "after_chk master error err $ret code"
- exit 1
-fi
-
-opr_suc