start.sh 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. #!/bin/bash
  2. echo "starting program.."
  3. # wait for pg startup
  4. echo "Checking postgres server health.."
  5. wait-for-it.sh postgres.dcmp:5432 -t 0
  6. # wait for lb startup
  7. echo "Checking postgres server health.."
  8. wait-for-it.sh wisecloud.dcmp:5432 -t 0
  9. REDIS_PASSWORD=`curl http://rancher-metadata/latest/stacks/redis/services/redis/metadata/REDIS_PASSWORD`
  10. SQL_FILE=${MODULE_HOME}/sql/setup.sql
  11. lib_path=${MODULE_HOME}/software/utils/lib
  12. [ "$REDIS_PASSWORD" = "Not found" ] && unset REDIS_PASSWORD
  13. REDIS_PASSWORD=${REDIS_PASSWORD:-123456}
  14. if [ -d ${lib_path} ];then
  15. chmod -R 755 ${lib_path}
  16. if [ ! -f /usr/lib/libhiredis.so ];then
  17. yes|cp ${lib_path}/libhiredis.so /usr/lib
  18. fi
  19. if [ ! -f /usr/lib/libhiredis_vip.so ];then
  20. yes|cp ${lib_path}/libhiredis_vip.so /usr/lib
  21. fi
  22. if [ ! -f /usr/lib/libjson.so ];then
  23. yes|cp ${lib_path}/libjson.so /usr/lib
  24. fi
  25. if [ ! -f /usr/lib/liblogsuite.so.1.1.6 ];then
  26. rm -f /usr/lib/liblogsuite.so
  27. yes|cp ${lib_path}/liblogsuite.so.1.1.6 /usr/lib
  28. ln -s /usr/lib/liblogsuite.so.1.1.6 /usr/lib/liblogsuite.so
  29. ln -s /usr/lib/liblogsuite.so.1.1.6 /usr/lib64/liblogsuite.so
  30. else
  31. rm -f /usr/lib/liblogsuite.so
  32. ln -s /usr/lib/liblogsuite.so.1.1.6 /usr/lib/liblogsuite.so
  33. ln -s /usr/lib/liblogsuite.so.1.1.6 /usr/lib64/liblogsuite.so
  34. fi
  35. if [ ! -f /usr/lib/libcas.so.1.1.3 ];then
  36. rm -f /usr/lib/libcas.so
  37. yes|cp ${lib_path}/libcas.so.1.1.3 /usr/lib
  38. ln -s /usr/lib/libcas.so.1.1.3 /usr/lib/libcas.so
  39. ln -s /usr/lib/libcas.so.1.1.3 /usr/lib64/libcas.so
  40. else
  41. rm -f /usr/lib/libcas.so
  42. ln -s /usr/lib/libcas.so.1.1.3 /usr/lib/libcas.so
  43. ln -s /usr/lib/libcas.so.1.1.3 /usr/lib64/libcas.so
  44. fi
  45. fi
  46. ldconfig
  47. sed -i "s/password.*/password:${REDIS_PASSWORD}/g" ${MODULE_HOME}/software/utils/casclient/casclient.ini
  48. sed -i "s/usrid.*/usrid= ${POSTGRES_USER}/g" ${MODULE_HOME}/software/utils/logsuite/logdb.conf
  49. sed -i "s/passwd.*/passwd = ${POSTGRES_USER}/g" ${MODULE_HOME}/software/utils/logsuite/logdb.conf
  50. sed -i "s/username.*/username = ${POSTGRES_USER}/g" ${MODULE_HOME}/software/utils/config.ini
  51. sed -i "s/password.*/password = ${POSTGRES_PASSWORD}/g" ${MODULE_HOME}/software/utils/config.ini
  52. if [ -f "${SQL_FILE}" ]
  53. then
  54. sleep 5
  55. gw_port=`psql -h wisecloud.dcmp -p 5432 "dbname=${POSTGRES_DB} user=${POSTGRES_USER} password=${POSTGRES_PASSWORD}" \
  56. -tc "SELECT dict_name FROM t_dictionary where id='6';" |egrep -v "\-|value|\+" | xargs 2>/dev/null`
  57. echo "##### gw_port=$gw_port"
  58. if [ "${gw_port}" != "gateway_port" ]; then
  59. echo "Begin to create db ${POSTGRES_DB}.."
  60. psql -h wisecloud.dcmp -p 5432 "dbname=postgres user=${POSTGRES_USER} password=${POSTGRES_PASSWORD}" -c "CREATE DATABASE ${POSTGRES_DB}";
  61. [ $? -eq 0 ] && echo "create db ${POSTGRES_DB} success" || echo "warning: create db ${POSTGRES_DB} failed, mybe the db already exist"
  62. echo "Begin to import sql file.."
  63. sleep 5
  64. psql -h wisecloud.dcmp -p 5432 "dbname=${POSTGRES_DB} user=${POSTGRES_USER} password=${POSTGRES_PASSWORD}" -f ${SQL_FILE}
  65. [ $? -eq 0 ] && echo "import ${SQL_FILE} success" || { echo "import ${SQL_FILE} failed"; exit 1 ; }
  66. rm -rf ${SQL_FILE}
  67. fi
  68. fi
  69. cd ${MODULE_HOME}
  70. ./software/dcmpServer --port=8000
  71. [ $? -eq 0 ] && echo "Start success" || echo "Start failed"