#!/bin/bash echo "starting program.." # wait for pg startup echo "Checking postgres server health.." wait-for-it.sh postgres.dcmp:5432 -t 0 # wait for lb startup echo "Checking postgres server health.." wait-for-it.sh wisecloud.dcmp:5432 -t 0 REDIS_PASSWORD=`curl http://rancher-metadata/latest/stacks/redis/services/redis/metadata/REDIS_PASSWORD` SQL_FILE=${MODULE_HOME}/sql/setup.sql lib_path=${MODULE_HOME}/software/utils/lib [ "$REDIS_PASSWORD" = "Not found" ] && unset REDIS_PASSWORD REDIS_PASSWORD=${REDIS_PASSWORD:-123456} if [ -d ${lib_path} ];then chmod -R 755 ${lib_path} if [ ! -f /usr/lib/libhiredis.so ];then yes|cp ${lib_path}/libhiredis.so /usr/lib fi if [ ! -f /usr/lib/libhiredis_vip.so ];then yes|cp ${lib_path}/libhiredis_vip.so /usr/lib fi if [ ! -f /usr/lib/libjson.so ];then yes|cp ${lib_path}/libjson.so /usr/lib fi if [ ! -f /usr/lib/liblogsuite.so.1.1.6 ];then rm -f /usr/lib/liblogsuite.so yes|cp ${lib_path}/liblogsuite.so.1.1.6 /usr/lib ln -s /usr/lib/liblogsuite.so.1.1.6 /usr/lib/liblogsuite.so ln -s /usr/lib/liblogsuite.so.1.1.6 /usr/lib64/liblogsuite.so else rm -f /usr/lib/liblogsuite.so ln -s /usr/lib/liblogsuite.so.1.1.6 /usr/lib/liblogsuite.so ln -s /usr/lib/liblogsuite.so.1.1.6 /usr/lib64/liblogsuite.so fi if [ ! -f /usr/lib/libcas.so.1.1.3 ];then rm -f /usr/lib/libcas.so yes|cp ${lib_path}/libcas.so.1.1.3 /usr/lib ln -s /usr/lib/libcas.so.1.1.3 /usr/lib/libcas.so ln -s /usr/lib/libcas.so.1.1.3 /usr/lib64/libcas.so else rm -f /usr/lib/libcas.so ln -s /usr/lib/libcas.so.1.1.3 /usr/lib/libcas.so ln -s /usr/lib/libcas.so.1.1.3 /usr/lib64/libcas.so fi fi ldconfig sed -i "s/password.*/password:${REDIS_PASSWORD}/g" ${MODULE_HOME}/software/utils/casclient/casclient.ini sed -i "s/usrid.*/usrid= ${POSTGRES_USER}/g" ${MODULE_HOME}/software/utils/logsuite/logdb.conf sed -i "s/passwd.*/passwd = ${POSTGRES_USER}/g" ${MODULE_HOME}/software/utils/logsuite/logdb.conf sed -i "s/username.*/username = ${POSTGRES_USER}/g" ${MODULE_HOME}/software/utils/config.ini sed -i "s/password.*/password = ${POSTGRES_PASSWORD}/g" ${MODULE_HOME}/software/utils/config.ini if [ -f "${SQL_FILE}" ] then sleep 5 gw_port=`psql -h wisecloud.dcmp -p 5432 "dbname=${POSTGRES_DB} user=${POSTGRES_USER} password=${POSTGRES_PASSWORD}" \ -tc "SELECT dict_name FROM t_dictionary where id='6';" |egrep -v "\-|value|\+" | xargs 2>/dev/null` echo "##### gw_port=$gw_port" if [ "${gw_port}" != "gateway_port" ]; then echo "Begin to create db ${POSTGRES_DB}.." psql -h wisecloud.dcmp -p 5432 "dbname=postgres user=${POSTGRES_USER} password=${POSTGRES_PASSWORD}" -c "CREATE DATABASE ${POSTGRES_DB}"; [ $? -eq 0 ] && echo "create db ${POSTGRES_DB} success" || echo "warning: create db ${POSTGRES_DB} failed, mybe the db already exist" echo "Begin to import sql file.." sleep 5 psql -h wisecloud.dcmp -p 5432 "dbname=${POSTGRES_DB} user=${POSTGRES_USER} password=${POSTGRES_PASSWORD}" -f ${SQL_FILE} [ $? -eq 0 ] && echo "import ${SQL_FILE} success" || { echo "import ${SQL_FILE} failed"; exit 1 ; } rm -rf ${SQL_FILE} fi fi cd ${MODULE_HOME} ./software/dcmpServer --port=8000 [ $? -eq 0 ] && echo "Start success" || echo "Start failed"