Skip to content
Snippets Groups Projects
Commit d6c9cc8f authored by sveseli's avatar sveseli
Browse files

fix deployment scripts

parent 9be42370
No related branches found
No related tags found
No related merge requests found
#!/bin/sh
cd `dirname $0`/.. && DM_SBIN_DIR=`pwd`
$DM_SBIN_DIR/dm_system_test_daq.sh /home/dm/test
#!/bin/sh
cd `dirname $0`/.. && DM_SBIN_DIR=`pwd`
$DM_SBIN_DIR/dm_system_test_upload.sh /home/dm/test
......@@ -59,30 +59,37 @@ DM_WEB_SERVICE_KEY_FILE=${DM_SSL_DIR}/$DM_DB_NAME.$DM_WEB_SERVICE_DAEMON.key
DM_WEB_SERVICE_CONFIG_FILE=${DM_ETC_DIR}/$DM_DB_NAME.$DM_WEB_SERVICE_DAEMON.conf
DM_WEB_SERVICE_LOG_FILE=${DM_LOG_DIR}/$DM_DB_NAME.$DM_WEB_SERVICE_DAEMON.log
DM_WEB_SERVICE_INIT_CMD=${DM_ROOT_DIR}/etc/init.d/dm-$DM_WEB_SERVICE_DAEMON
DM_DB_PASSWORD_FILE=${DM_ETC_DIR}/${DM_DB_NAME}.db.passwd
DM_DB_PASSWORD_FILE=${DM_ETC_DIR}/${DM_DB_NAME}.db.passwd
DM_SYSTEM_PASSWORD_FILE=${DM_INSTALL_DIR}/etc/${DM_SYSTEM_USER}.system.passwd
DM_USER_SETUP_FILE=${DM_ETC_DIR}/${DM_DB_NAME}.setup.sh
DM_MONGODB_SERVICE_INIT_CMD=${DM_ROOT_DIR}/etc/init.d/dm-mongodb
if [ -f $DM_USER_SETUP_FILE ]; then
DM_STATION_NAME=`cat $DM_USER_SETUP_FILE | grep DM_STATION_NAME | cut -f2 -d'='`
DM_DS_WEB_SERVICE_URL=`cat $DM_USER_SETUP_FILE | grep DM_DS_WEB_SERVICE_URL | cut -f2 -d'='`
DM_APS_DB_WEB_SERVICE_URL=`cat $DM_USER_SETUP_FILE | grep DM_APS_DB_WEB_SERVICE_URL | cut -f2 -d'='`
fi
DM_STATION_NAME=${DM_STATION_NAME:=TEST}
cmd="echo $DM_CAT_WEB_SERVICE_HOST | sed 's?DM_HOSTNAME?$DM_HOSTNAME?'"
DM_WEB_SERVICE_HOST=`eval $cmd`
DM_CAT_WEB_SERVICE_HOST=$DM_WEB_SERVICE_HOST
DM_WEB_SERVICE_PORT=$DM_CAT_WEB_SERVICE_PORT
cmd="echo $DM_CAT_WEB_SERVICE_URL | sed 's?DM_HOSTNAME?$DM_HOSTNAME?'"
DM_CAT_WEB_SERVICE_URL=`eval $cmd`
DM_CAT_WEB_SERVICE_HOST=`echo $DM_CAT_WEB_SERVICE_URL | sed 's?https://??' | cut -f1 -d':'`
DM_CAT_WEB_SERVICE_PORT=`echo $DM_CAT_WEB_SERVICE_URL | sed 's?https://??' | cut -f2 -d':'`
DM_DS_WEB_SERVICE_HOST=`echo $DM_DS_WEB_SERVICE_URL | sed 's?https://??' | cut -f1 -d':'`
if [ -z "$DM_DS_WEB_SERVICE_HOST" -o "$DM_DS_WEB_SERVICE_HOST" = "DM_HOSTNAME" ]; then
read -p "Enter DM DS Web Service Host: " DM_DS_WEB_SERVICE_HOST
fi
read -p "Enter DM DS Web Service Host [$DM_DS_WEB_SERVICE_HOST]: " DM_DS_WEB_SERVICE_HOST
if [ -z "$DM_DS_WEB_SERVICE_HOST" ]; then
DM_DS_WEB_SERVICE_HOST=$DM_HOSTNAME
fi
cmd="echo $DM_DS_WEB_SERVICE_URL | sed 's?DM_HOSTNAME?$DM_DS_WEB_SERVICE_HOST?'"
DM_DS_WEB_SERVICE_URL=`eval $cmd`
cmd="echo $DM_APS_DB_WEB_SERVICE_URL | sed 's?DM_HOSTNAME?$DM_DS_WEB_SERVICE_HOST?'"
DM_APS_DB_WEB_SERVICE_URL=`eval $cmd`
read -p "Enter DM DS Web Service Installation Directory [$DM_INSTALL_DIR]: " DM_DS_INSTALL_DIR
if [ -z "$DM_DS_INSTALL_DIR" ]; then
DM_DS_INSTALL_DIR=$DM_INSTALL_DIR
fi
read -p "Enter DM DAQ station name [$DM_STATION_NAME]: " DM_CAT_STATION_NAME
read -p "Enter DM CAT station name [$DM_STATION_NAME]: " DM_CAT_STATION_NAME
if [ -z "$DM_CAT_STATION_NAME" ]; then
DM_CAT_STATION_NAME=$DM_STATION_NAME
fi
......@@ -90,9 +97,10 @@ fi
DM_CA_HOST=${DM_CA_HOST:=${DM_DS_WEB_SERVICE_HOST}}
echo "DM CA host: $DM_CA_HOST"
echo "DM CAT web service host: $DM_CAT_WEB_SERVICE_HOST"
echo "DM CAT web service url: $DM_CAT_WEB_SERVICE_URL"
echo "DM CAT web service install directory: $DM_INSTALL_DIR"
echo "DM CAT station name: $DM_CAT_STATION_NAME"
echo "DM DS web service url: $DM_DS_WEB_SERVICE_URL"
echo "DM DS web service host: $DM_DS_WEB_SERVICE_HOST"
echo "DM DS web service install directory: $DM_DS_INSTALL_DIR"
......@@ -107,20 +115,21 @@ $DM_WEB_SERVICE_INIT_CMD stop $DM_DB_NAME
echo "Checking CA certificate"
if [ ! -f $DM_CA_CERT_FILE ]; then
echo "Copying DM CA cert"
rsync -ar $DM_CA_HOST:$DM_CA_CERT_FILE $DM_SSL_DIR
else
echo $DM_SSL_DIR
rsync $DM_CA_HOST:$DM_DS_INSTALL_DIR/etc/ssl/dm-ca-cert.pem $DM_SSL_DIR/
else
echo "DM CA certificate exists"
fi
echo "Checking service certificates"
if [ ! -f $DM_WEB_SERVICE_CERT_FILE -o ! -f $DM_WEB_SERVICE_KEY_FILE ]; then
if [ ! -f $DM_CA_DIR/certs/$DM_WEB_SERVICE_HOST.crt ]; then
if [ ! -f $DM_CA_DIR/certs/$DM_HOSTNAME.crt ]; then
echo "Attempting to create DM $DM_WEB_SERVICE_DAEMON certificate"
ssh $DM_DS_WEB_SERVICE_HOST "$DM_DS_INSTALL_DIR/production/sbin/dm_create_server_cert.sh $DM_WEB_SERVICE_HOST $DM_WEB_SERVICE_HOST dm-admin@aps.anl.gov"
ssh $DM_CA_HOST "$DM_DS_INSTALL_DIR/production/sbin/dm_create_server_cert.sh $DM_HOSTNAME $DM_HOSTNAME dm-admin@aps.anl.gov"
fi
echo "Copying DM $DM_WEB_SERVICE_DAEMON certificate"
rsync -ar $DM_CA_HOST:$DM_DS_INSTALL_DIR/etc/CA/certs/$DM_WEB_SERVICE_HOST.crt $DM_WEB_SERVICE_CERT_FILE || exit 1
rsync -ar $DM_CA_HOST:$DM_DS_INSTALL_DIR/etc/CA/certs/$DM_WEB_SERVICE_HOST.key $DM_WEB_SERVICE_KEY_FILE || exit 1
rsync -ar $DM_CA_HOST:$DM_DS_INSTALL_DIR/etc/CA/certs/$DM_HOSTNAME.crt $DM_WEB_SERVICE_CERT_FILE || exit 1
rsync -ar $DM_CA_HOST:$DM_DS_INSTALL_DIR/etc/CA/certs/$DM_HOSTNAME.key $DM_WEB_SERVICE_KEY_FILE || exit 1
else
echo "DM service certificate exists"
fi
......@@ -129,19 +138,17 @@ echo "Checking service configuration file"
if [ ! -f $DM_WEB_SERVICE_CONFIG_FILE ]; then
echo "Generating service config file"
cmd="cat $DM_ROOT_DIR/etc/$DM_WEB_SERVICE_DAEMON.conf.template \
| sed 's?servicePort=.*?servicePort=$DM_WEB_SERVICE_PORT?g' \
| sed 's?servicePort=.*?servicePort=$DM_CAT_WEB_SERVICE_PORT?g' \
| sed 's?sslCaCertFile=.*?sslCaCertFile=$DM_CA_CERT_FILE?g' \
| sed 's?sslCertFile=.*?sslCertFile=$DM_WEB_SERVICE_CERT_FILE?g' \
| sed 's?sslKeyFile=.*?sslKeyFile=$DM_WEB_SERVICE_KEY_FILE?g' \
| sed 's?handler=TimedRotatingFileLoggingHandler.*?handler=TimedRotatingFileLoggingHandler(\"$DM_WEB_SERVICE_LOG_FILE\")?g' \
| sed 's?DM_INSTALL_DIR?$DM_INSTALL_DIR?g' \
| sed 's?DM_SYSTEM_USER?$DM_SYSTEM_USER?g' \
| sed 's?DM_DS_WEB_SERVICE_HOST?$DM_DS_WEB_SERVICE_HOST?g' \
| sed 's?DM_DS_WEB_SERVICE_PORT?$DM_DS_WEB_SERVICE_PORT?g' \
| sed 's?DM_WEB_SERVICE_PROTOCOL?$DM_WEB_SERVICE_PROTOCOL?g' \
| sed 's?DM_DS_WEB_SERVICE_URL?$DM_DS_WEB_SERVICE_URL?g' \
| sed 's?DM_HOSTNAME?$DM_HOSTNAME?g' \
| sed 's?DM_DB_NAME?$DM_DB_NAME?g' \
| sed 's?DM_STATION_NAME?$DM_CAT_STATION_NAME?g' \
| sed 's?DM_STATION_NAME?$DM_CAT_STATION_NAME?g' \
> $DM_WEB_SERVICE_CONFIG_FILE"
eval $cmd || exit 1
else
......@@ -149,15 +156,15 @@ else
fi
# Modify version
echo "Modifying python module version to $DM_SOFTWARE_VERSION"
versionFile=$DM_RELEASE_DIR/src/python/dm/__init__.py
cmd="cat $versionFile | sed 's?__version__ =.*?__version__ = \"${DM_SOFTWARE_VERSION} (${DM_DATE})\"?g' > $versionFile.2 && mv $versionFile.2 $versionFile"
eval $cmd
#echo "Modifying python module version to $DM_SOFTWARE_VERSION"
#versionFile=$DM_RELEASE_DIR/src/python/dm/__init__.py
#cmd="cat $versionFile | sed 's?__version__ =.*?__version__ = \"${DM_SOFTWARE_VERSION} (${DM_DATE})\"?g' > $versionFile.2 && mv $versionFile.2 $versionFile"
#eval $cmd
# Check system account password
if [ ! -f $DM_SYSTEM_PASSWORD_FILE ]; then
echo "Copying system account password file $DM_SYSTEM_PASSWORD_FILE"
rsync -ar $DM_DS_WEB_SERVICE_HOST:$DM_SYSTEM_PASSWORD_FILE $DM_SYSTEM_PASSWORD_FILE || exit 1
echo "Copying system account password file $DM_SYSTEM_PASSWORD_FILE"
rsync -ar $DM_DS_WEB_SERVICE_HOST:$DM_DS_INSTALL_DIR/etc/${DM_SYSTEM_USER}.system.passwd $DM_SYSTEM_PASSWORD_FILE || exit 1
fi
# Prepare setup file
......@@ -170,20 +177,17 @@ fi
echo "Preparing setup file"
cmd="cat $DM_USER_SETUP_FILE \
| sed 's?DM_ROOT_DIR=.*?DM_ROOT_DIR=$DM_ROOT_DIR?g' \
| sed 's?DM_DS_WEB_SERVICE_HOST=.*?DM_DS_WEB_SERVICE_HOST=$DM_DS_WEB_SERVICE_HOST?g' \
| sed 's?DM_DS_WEB_SERVICE_PORT=.*?DM_DS_WEB_SERVICE_PORT=$DM_DS_WEB_SERVICE_PORT?g' \
| sed 's?DM_CAT_WEB_SERVICE_HOST=.*?DM_CAT_WEB_SERVICE_HOST=$DM_CAT_WEB_SERVICE_HOST?g' \
| sed 's?DM_CAT_WEB_SERVICE_PORT=.*?DM_CAT_WEB_SERVICE_PORT=$DM_CAT_WEB_SERVICE_PORT?g' \
| sed 's?DM_DS_WEB_SERVICE_URL=.*?DM_DS_WEB_SERVICE_URL=$DM_DS_WEB_SERVICE_URL?g' \
| sed 's?DM_APS_DB_WEB_SERVICE_URL=.*?DM_APS_DB_WEB_SERVICE_URL=$DM_APS_DB_WEB_SERVICE_URL?g' \
| sed 's?DM_CAT_WEB_SERVICE_URL=.*?DM_CAT_WEB_SERVICE_URL=$DM_CAT_WEB_SERVICE_URL?g' \
| sed 's?DM_HOSTNAME?$DM_HOSTNAME?g' \
| sed 's?DM_STATION_NAME=.*?DM_STATION_NAME=$DM_CAT_STATION_NAME?g' \
> $DM_USER_SETUP_FILE.2 && mv $DM_USER_SETUP_FILE.2 $DM_USER_SETUP_FILE"
eval $cmd || exit 1
echo "Starting mongodb service"
$DM_MONGODB_SERVICE_INIT_CMD restart
echo "Starting cat web service for $DM_DB_NAME"
$DM_WEB_SERVICE_INIT_CMD start $DM_DB_NAME
echo "Done deploying $DM_WEB_SERVICE_DAEMON for $DM_DB_NAME"
......@@ -48,7 +48,6 @@ if [ -d $DM_INSTALL_DIR ]; then
fi
DM_RELEASE_DIR=$DM_INSTALL_DIR/$DM_SOFTWARE_VERSION
DM_ETC_DIR=${DM_INSTALL_DIR}/etc
DM_SSL_DIR=${DM_ETC_DIR}/ssl
DM_LOG_DIR=${DM_INSTALL_DIR}/var/log
......@@ -63,19 +62,27 @@ DM_WEB_SERVICE_INIT_CMD=${DM_ROOT_DIR}/etc/init.d/dm-$DM_WEB_SERVICE_DAEMON
DM_DB_PASSWORD_FILE=${DM_ETC_DIR}/${DM_DB_NAME}.db.passwd
DM_SYSTEM_PASSWORD_FILE=${DM_INSTALL_DIR}/etc/${DM_SYSTEM_USER}.system.passwd
DM_USER_SETUP_FILE=${DM_ETC_DIR}/${DM_DB_NAME}.setup.sh
if [ -f $DM_USER_SETUP_FILE ]; then
DM_STATION_NAME=`cat $DM_USER_SETUP_FILE | grep DM_STATION_NAME | cut -f2 -d'='`
DM_DS_WEB_SERVICE_URL=`cat $DM_USER_SETUP_FILE | grep DM_DS_WEB_SERVICE_URL | cut -f2 -d'='`
DM_APS_DB_WEB_SERVICE_URL=`cat $DM_USER_SETUP_FILE | grep DM_APS_DB_WEB_SERVICE_URL | cut -f2 -d'='`
fi
DM_STATION_NAME=${DM_STATION_NAME:=TEST}
cmd="echo $DM_DAQ_WEB_SERVICE_HOST | sed 's?DM_HOSTNAME?$DM_HOSTNAME?'"
DM_WEB_SERVICE_HOST=`eval $cmd`
DM_DAQ_WEB_SERVICE_HOST=$DM_WEB_SERVICE_HOST
DM_WEB_SERVICE_PORT=$DM_DAQ_WEB_SERVICE_PORT
cmd="echo $DM_DAQ_WEB_SERVICE_URL | sed 's?DM_HOSTNAME?$DM_HOSTNAME?'"
DM_DAQ_WEB_SERVICE_URL=`eval $cmd`
DM_DAQ_WEB_SERVICE_HOST=`echo $DM_DAQ_WEB_SERVICE_URL | sed 's?https://??' | cut -f1 -d':'`
DM_DAQ_WEB_SERVICE_PORT=`echo $DM_DAQ_WEB_SERVICE_URL | sed 's?https://??' | cut -f2 -d':'`
DM_DS_WEB_SERVICE_HOST=`echo $DM_DS_WEB_SERVICE_URL | sed 's?https://??' | cut -f1 -d':'`
if [ -z "$DM_DS_WEB_SERVICE_HOST" -o "$DM_DS_WEB_SERVICE_HOST" = "DM_HOSTNAME" ]; then
read -p "Enter DM DS Web Service Host: " DM_DS_WEB_SERVICE_HOST
fi
read -p "Enter DM DS Web Service Host [$DM_DS_WEB_SERVICE_HOST]: " DM_DS_WEB_SERVICE_HOST
if [ -z "$DM_DS_WEB_SERVICE_HOST" ]; then
DM_DS_WEB_SERVICE_HOST=$DM_HOSTNAME
fi
fi
cmd="echo $DM_DS_WEB_SERVICE_URL | sed 's?DM_HOSTNAME?$DM_DS_WEB_SERVICE_HOST?'"
DM_DS_WEB_SERVICE_URL=`eval $cmd`
cmd="echo $DM_APS_DB_WEB_SERVICE_URL | sed 's?DM_HOSTNAME?$DM_DS_WEB_SERVICE_HOST?'"
DM_APS_DB_WEB_SERVICE_URL=`eval $cmd`
read -p "Enter DM DS Web Service Installation Directory [$DM_INSTALL_DIR]: " DM_DS_INSTALL_DIR
if [ -z "$DM_DS_INSTALL_DIR" ]; then
......@@ -90,9 +97,10 @@ fi
DM_CA_HOST=${DM_CA_HOST:=${DM_DS_WEB_SERVICE_HOST}}
echo "DM CA host: $DM_CA_HOST"
echo "DM DAQ web service host: $DM_DAQ_WEB_SERVICE_HOST"
echo "DM DAQ web service url: $DM_DAQ_WEB_SERVICE_URL"
echo "DM DAQ web service install directory: $DM_INSTALL_DIR"
echo "DM DAQ station name: $DM_DAQ_STATION_NAME"
echo "DM DS web service url: $DM_DS_WEB_SERVICE_URL"
echo "DM DS web service host: $DM_DS_WEB_SERVICE_HOST"
echo "DM DS web service install directory: $DM_DS_INSTALL_DIR"
......@@ -115,13 +123,13 @@ fi
echo "Checking service certificates"
if [ ! -f $DM_WEB_SERVICE_CERT_FILE -o ! -f $DM_WEB_SERVICE_KEY_FILE ]; then
if [ ! -f $DM_CA_DIR/certs/$DM_WEB_SERVICE_HOST.crt ]; then
if [ ! -f $DM_CA_DIR/certs/$DM_HOSTNAME.crt ]; then
echo "Attempting to create DM $DM_WEB_SERVICE_DAEMON certificate"
ssh $DM_CA_HOST "$DM_DS_INSTALL_DIR/production/sbin/dm_create_server_cert.sh $DM_WEB_SERVICE_HOST $DM_WEB_SERVICE_HOST dm-admin@aps.anl.gov"
ssh $DM_CA_HOST "$DM_DS_INSTALL_DIR/production/sbin/dm_create_server_cert.sh $DM_HOSTNAME $DM_HOSTNAME dm-admin@aps.anl.gov"
fi
echo "Copying DM $DM_WEB_SERVICE_DAEMON certificate"
rsync -ar $DM_CA_HOST:$DM_DS_INSTALL_DIR/etc/CA/certs/$DM_WEB_SERVICE_HOST.crt $DM_WEB_SERVICE_CERT_FILE || exit 1
rsync -ar $DM_CA_HOST:$DM_DS_INSTALL_DIR/etc/CA/certs/$DM_WEB_SERVICE_HOST.key $DM_WEB_SERVICE_KEY_FILE || exit 1
rsync -ar $DM_CA_HOST:$DM_DS_INSTALL_DIR/etc/CA/certs/$DM_HOSTNAME.crt $DM_WEB_SERVICE_CERT_FILE || exit 1
rsync -ar $DM_CA_HOST:$DM_DS_INSTALL_DIR/etc/CA/certs/$DM_HOSTNAME.key $DM_WEB_SERVICE_KEY_FILE || exit 1
else
echo "DM service certificate exists"
fi
......@@ -130,16 +138,14 @@ echo "Checking service configuration file"
if [ ! -f $DM_WEB_SERVICE_CONFIG_FILE ]; then
echo "Generating service config file"
cmd="cat $DM_ROOT_DIR/etc/$DM_WEB_SERVICE_DAEMON.conf.template \
| sed 's?servicePort=.*?servicePort=$DM_WEB_SERVICE_PORT?g' \
| sed 's?servicePort=.*?servicePort=$DM_DAQ_WEB_SERVICE_PORT?g' \
| sed 's?sslCaCertFile=.*?sslCaCertFile=$DM_CA_CERT_FILE?g' \
| sed 's?sslCertFile=.*?sslCertFile=$DM_WEB_SERVICE_CERT_FILE?g' \
| sed 's?sslKeyFile=.*?sslKeyFile=$DM_WEB_SERVICE_KEY_FILE?g' \
| sed 's?handler=TimedRotatingFileLoggingHandler.*?handler=TimedRotatingFileLoggingHandler(\"$DM_WEB_SERVICE_LOG_FILE\")?g' \
| sed 's?DM_INSTALL_DIR?$DM_INSTALL_DIR?g' \
| sed 's?DM_SYSTEM_USER?$DM_SYSTEM_USER?g' \
| sed 's?DM_DS_WEB_SERVICE_HOST?$DM_DS_WEB_SERVICE_HOST?g' \
| sed 's?DM_DS_WEB_SERVICE_PORT?$DM_DS_WEB_SERVICE_PORT?g' \
| sed 's?DM_WEB_SERVICE_PROTOCOL?$DM_WEB_SERVICE_PROTOCOL?g' \
| sed 's?DM_DS_WEB_SERVICE_URL?$DM_DS_WEB_SERVICE_URL?g' \
| sed 's?DM_HOSTNAME?$DM_HOSTNAME?g' \
| sed 's?DM_DB_NAME?$DM_DB_NAME?g' \
| sed 's?DM_STATION_NAME?$DM_DAQ_STATION_NAME?g' \
......@@ -150,10 +156,10 @@ else
fi
# Modify version
echo "Modifying python module version to $DM_SOFTWARE_VERSION"
versionFile=$DM_RELEASE_DIR/src/python/dm/__init__.py
cmd="cat $versionFile | sed 's?__version__ =.*?__version__ = \"${DM_SOFTWARE_VERSION} (${DM_DATE})\"?g' > $versionFile.2 && mv $versionFile.2 $versionFile"
eval $cmd
#echo "Modifying python module version to $DM_SOFTWARE_VERSION"
#versionFile=$DM_RELEASE_DIR/src/python/dm/__init__.py
#cmd="cat $versionFile | sed 's?__version__ =.*?__version__ = \"${DM_SOFTWARE_VERSION} (${DM_DATE})\"?g' > $versionFile.2 && mv $versionFile.2 $versionFile"
#eval $cmd
# Check system account password
if [ ! -f $DM_SYSTEM_PASSWORD_FILE ]; then
......@@ -171,10 +177,9 @@ fi
echo "Preparing setup file"
cmd="cat $DM_USER_SETUP_FILE \
| sed 's?DM_ROOT_DIR=.*?DM_ROOT_DIR=$DM_ROOT_DIR?g' \
| sed 's?DM_DS_WEB_SERVICE_HOST=.*?DM_DS_WEB_SERVICE_HOST=$DM_DS_WEB_SERVICE_HOST?g' \
| sed 's?DM_DS_WEB_SERVICE_PORT=.*?DM_DS_WEB_SERVICE_PORT=$DM_DS_WEB_SERVICE_PORT?g' \
| sed 's?DM_DAQ_WEB_SERVICE_HOST=.*?DM_DAQ_WEB_SERVICE_HOST=$DM_DAQ_WEB_SERVICE_HOST?g' \
| sed 's?DM_DAQ_WEB_SERVICE_PORT=.*?DM_DAQ_WEB_SERVICE_PORT=$DM_DAQ_WEB_SERVICE_PORT?g' \
| sed 's?DM_DS_WEB_SERVICE_URL=.*?DM_DS_WEB_SERVICE_URL=$DM_DS_WEB_SERVICE_URL?g' \
| sed 's?DM_APS_DB_WEB_SERVICE_URL=.*?DM_APS_DB_WEB_SERVICE_URL=$DM_APS_DB_WEB_SERVICE_URL?g' \
| sed 's?DM_DAQ_WEB_SERVICE_URL=.*?DM_DAQ_WEB_SERVICE_URL=$DM_DAQ_WEB_SERVICE_URL?g' \
| sed 's?DM_HOSTNAME?$DM_HOSTNAME?g' \
| sed 's?DM_STATION_NAME=.*?DM_STATION_NAME=$DM_DAQ_STATION_NAME?g' \
> $DM_USER_SETUP_FILE.2 && mv $DM_USER_SETUP_FILE.2 $DM_USER_SETUP_FILE"
......
......@@ -59,30 +59,37 @@ DM_WEB_SERVICE_KEY_FILE=${DM_SSL_DIR}/$DM_DB_NAME.$DM_WEB_SERVICE_DAEMON.key
DM_WEB_SERVICE_CONFIG_FILE=${DM_ETC_DIR}/$DM_DB_NAME.$DM_WEB_SERVICE_DAEMON.conf
DM_WEB_SERVICE_LOG_FILE=${DM_LOG_DIR}/$DM_DB_NAME.$DM_WEB_SERVICE_DAEMON.log
DM_WEB_SERVICE_INIT_CMD=${DM_ROOT_DIR}/etc/init.d/dm-$DM_WEB_SERVICE_DAEMON
DM_DB_PASSWORD_FILE=${DM_ETC_DIR}/${DM_DB_NAME}.db.passwd
DM_DB_PASSWORD_FILE=${DM_ETC_DIR}/${DM_DB_NAME}.db.passwd
DM_SYSTEM_PASSWORD_FILE=${DM_INSTALL_DIR}/etc/${DM_SYSTEM_USER}.system.passwd
DM_USER_SETUP_FILE=${DM_ETC_DIR}/${DM_DB_NAME}.setup.sh
DM_MONGODB_SERVICE_INIT_CMD=${DM_ROOT_DIR}/etc/init.d/dm-mongodb
if [ -f $DM_USER_SETUP_FILE ]; then
DM_STATION_NAME=`cat $DM_USER_SETUP_FILE | grep DM_STATION_NAME | cut -f2 -d'='`
DM_DS_WEB_SERVICE_URL=`cat $DM_USER_SETUP_FILE | grep DM_DS_WEB_SERVICE_URL | cut -f2 -d'='`
DM_APS_DB_WEB_SERVICE_URL=`cat $DM_USER_SETUP_FILE | grep DM_APS_DB_WEB_SERVICE_URL | cut -f2 -d'='`
fi
DM_STATION_NAME=${DM_STATION_NAME:=TEST}
cmd="echo $DM_PROC_WEB_SERVICE_HOST | sed 's?DM_HOSTNAME?$DM_HOSTNAME?'"
DM_WEB_SERVICE_HOST=`eval $cmd`
DM_PROC_WEB_SERVICE_HOST=$DM_WEB_SERVICE_HOST
DM_WEB_SERVICE_PORT=$DM_PROC_WEB_SERVICE_PORT
cmd="echo $DM_PROC_WEB_SERVICE_URL | sed 's?DM_HOSTNAME?$DM_HOSTNAME?'"
DM_PROC_WEB_SERVICE_URL=`eval $cmd`
DM_PROC_WEB_SERVICE_HOST=`echo $DM_PROC_WEB_SERVICE_URL | sed 's?https://??' | cut -f1 -d':'`
DM_PROC_WEB_SERVICE_PORT=`echo $DM_PROC_WEB_SERVICE_URL | sed 's?https://??' | cut -f2 -d':'`
DM_DS_WEB_SERVICE_HOST=`echo $DM_DS_WEB_SERVICE_URL | sed 's?https://??' | cut -f1 -d':'`
if [ -z "$DM_DS_WEB_SERVICE_HOST" -o "$DM_DS_WEB_SERVICE_HOST" = "DM_HOSTNAME" ]; then
read -p "Enter DM DS Web Service Host: " DM_DS_WEB_SERVICE_HOST
fi
read -p "Enter DM DS Web Service Host [$DM_DS_WEB_SERVICE_HOST]: " DM_DS_WEB_SERVICE_HOST
if [ -z "$DM_DS_WEB_SERVICE_HOST" ]; then
DM_DS_WEB_SERVICE_HOST=$DM_HOSTNAME
fi
fi
cmd="echo $DM_DS_WEB_SERVICE_URL | sed 's?DM_HOSTNAME?$DM_DS_WEB_SERVICE_HOST?'"
DM_DS_WEB_SERVICE_URL=`eval $cmd`
cmd="echo $DM_APS_DB_WEB_SERVICE_URL | sed 's?DM_HOSTNAME?$DM_DS_WEB_SERVICE_HOST?'"
DM_APS_DB_WEB_SERVICE_URL=`eval $cmd`
read -p "Enter DM DS Web Service Installation Directory [$DM_INSTALL_DIR]: " DM_DS_INSTALL_DIR
if [ -z "$DM_DS_INSTALL_DIR" ]; then
DM_DS_INSTALL_DIR=$DM_INSTALL_DIR
fi
read -p "Enter DM DAQ station name [$DM_STATION_NAME]: " DM_PROC_STATION_NAME
read -p "Enter DM PROC station name [$DM_STATION_NAME]: " DM_PROC_STATION_NAME
if [ -z "$DM_PROC_STATION_NAME" ]; then
DM_PROC_STATION_NAME=$DM_STATION_NAME
fi
......@@ -90,9 +97,10 @@ fi
DM_CA_HOST=${DM_CA_HOST:=${DM_DS_WEB_SERVICE_HOST}}
echo "DM CA host: $DM_CA_HOST"
echo "DM PROC web service host: $DM_PROC_WEB_SERVICE_HOST"
echo "DM PROC web service url: $DM_PROC_WEB_SERVICE_URL"
echo "DM PROC web service install directory: $DM_INSTALL_DIR"
echo "DM PROC station name: $DM_PROC_STATION_NAME"
echo "DM DS web service url: $DM_DS_WEB_SERVICE_URL"
echo "DM DS web service host: $DM_DS_WEB_SERVICE_HOST"
echo "DM DS web service install directory: $DM_DS_INSTALL_DIR"
......@@ -107,20 +115,21 @@ $DM_WEB_SERVICE_INIT_CMD stop $DM_DB_NAME
echo "Checking CA certificate"
if [ ! -f $DM_CA_CERT_FILE ]; then
echo "Copying DM CA cert"
rsync -ar $DM_CA_HOST:$DM_CA_CERT_FILE $DM_SSL_DIR
else
echo $DM_SSL_DIR
rsync $DM_CA_HOST:$DM_DS_INSTALL_DIR/etc/ssl/dm-ca-cert.pem $DM_SSL_DIR/
else
echo "DM CA certificate exists"
fi
echo "Checking service certificates"
if [ ! -f $DM_WEB_SERVICE_CERT_FILE -o ! -f $DM_WEB_SERVICE_KEY_FILE ]; then
if [ ! -f $DM_CA_DIR/certs/$DM_WEB_SERVICE_HOST.crt ]; then
if [ ! -f $DM_CA_DIR/certs/$DM_HOSTNAME.crt ]; then
echo "Attempting to create DM $DM_WEB_SERVICE_DAEMON certificate"
ssh $DM_DS_WEB_SERVICE_HOST "$DM_DS_INSTALL_DIR/production/sbin/dm_create_server_cert.sh $DM_WEB_SERVICE_HOST $DM_WEB_SERVICE_HOST dm-admin@aps.anl.gov"
ssh $DM_CA_HOST "$DM_DS_INSTALL_DIR/production/sbin/dm_create_server_cert.sh $DM_HOSTNAME $DM_HOSTNAME dm-admin@aps.anl.gov"
fi
echo "Copying DM $DM_WEB_SERVICE_DAEMON certificate"
rsync -ar $DM_CA_HOST:$DM_DS_INSTALL_DIR/etc/CA/certs/$DM_WEB_SERVICE_HOST.crt $DM_WEB_SERVICE_CERT_FILE || exit 1
rsync -ar $DM_CA_HOST:$DM_DS_INSTALL_DIR/etc/CA/certs/$DM_WEB_SERVICE_HOST.key $DM_WEB_SERVICE_KEY_FILE || exit 1
rsync -ar $DM_CA_HOST:$DM_DS_INSTALL_DIR/etc/CA/certs/$DM_HOSTNAME.crt $DM_WEB_SERVICE_CERT_FILE || exit 1
rsync -ar $DM_CA_HOST:$DM_DS_INSTALL_DIR/etc/CA/certs/$DM_HOSTNAME.key $DM_WEB_SERVICE_KEY_FILE || exit 1
else
echo "DM service certificate exists"
fi
......@@ -129,19 +138,17 @@ echo "Checking service configuration file"
if [ ! -f $DM_WEB_SERVICE_CONFIG_FILE ]; then
echo "Generating service config file"
cmd="cat $DM_ROOT_DIR/etc/$DM_WEB_SERVICE_DAEMON.conf.template \
| sed 's?servicePort=.*?servicePort=$DM_WEB_SERVICE_PORT?g' \
| sed 's?servicePort=.*?servicePort=$DM_PROC_WEB_SERVICE_PORT?g' \
| sed 's?sslCaCertFile=.*?sslCaCertFile=$DM_CA_CERT_FILE?g' \
| sed 's?sslCertFile=.*?sslCertFile=$DM_WEB_SERVICE_CERT_FILE?g' \
| sed 's?sslKeyFile=.*?sslKeyFile=$DM_WEB_SERVICE_KEY_FILE?g' \
| sed 's?handler=TimedRotatingFileLoggingHandler.*?handler=TimedRotatingFileLoggingHandler(\"$DM_WEB_SERVICE_LOG_FILE\")?g' \
| sed 's?DM_INSTALL_DIR?$DM_INSTALL_DIR?g' \
| sed 's?DM_SYSTEM_USER?$DM_SYSTEM_USER?g' \
| sed 's?DM_DS_WEB_SERVICE_HOST?$DM_DS_WEB_SERVICE_HOST?g' \
| sed 's?DM_DS_WEB_SERVICE_PORT?$DM_DS_WEB_SERVICE_PORT?g' \
| sed 's?DM_WEB_SERVICE_PROTOCOL?$DM_WEB_SERVICE_PROTOCOL?g' \
| sed 's?DM_DS_WEB_SERVICE_URL?$DM_DS_WEB_SERVICE_URL?g' \
| sed 's?DM_HOSTNAME?$DM_HOSTNAME?g' \
| sed 's?DM_DB_NAME?$DM_DB_NAME?g' \
| sed 's?DM_STATION_NAME?$DM_PROC_STATION_NAME?g' \
| sed 's?DM_STATION_NAME?$DM_PROC_STATION_NAME?g' \
> $DM_WEB_SERVICE_CONFIG_FILE"
eval $cmd || exit 1
else
......@@ -149,15 +156,15 @@ else
fi
# Modify version
echo "Modifying python module version to $DM_SOFTWARE_VERSION"
versionFile=$DM_RELEASE_DIR/src/python/dm/__init__.py
cmd="cat $versionFile | sed 's?__version__ =.*?__version__ = \"${DM_SOFTWARE_VERSION} (${DM_DATE})\"?g' > $versionFile.2 && mv $versionFile.2 $versionFile"
eval $cmd
#echo "Modifying python module version to $DM_SOFTWARE_VERSION"
#versionFile=$DM_RELEASE_DIR/src/python/dm/__init__.py
#cmd="cat $versionFile | sed 's?__version__ =.*?__version__ = \"${DM_SOFTWARE_VERSION} (${DM_DATE})\"?g' > $versionFile.2 && mv $versionFile.2 $versionFile"
#eval $cmd
# Check system account password
if [ ! -f $DM_SYSTEM_PASSWORD_FILE ]; then
echo "Copying system account password file $DM_SYSTEM_PASSWORD_FILE"
rsync -ar $DM_DS_WEB_SERVICE_HOST:$DM_SYSTEM_PASSWORD_FILE $DM_SYSTEM_PASSWORD_FILE || exit 1
echo "Copying system account password file $DM_SYSTEM_PASSWORD_FILE"
rsync -ar $DM_DS_WEB_SERVICE_HOST:$DM_DS_INSTALL_DIR/etc/${DM_SYSTEM_USER}.system.passwd $DM_SYSTEM_PASSWORD_FILE || exit 1
fi
# Prepare setup file
......@@ -170,20 +177,17 @@ fi
echo "Preparing setup file"
cmd="cat $DM_USER_SETUP_FILE \
| sed 's?DM_ROOT_DIR=.*?DM_ROOT_DIR=$DM_ROOT_DIR?g' \
| sed 's?DM_DS_WEB_SERVICE_HOST=.*?DM_DS_WEB_SERVICE_HOST=$DM_DS_WEB_SERVICE_HOST?g' \
| sed 's?DM_DS_WEB_SERVICE_PORT=.*?DM_DS_WEB_SERVICE_PORT=$DM_DS_WEB_SERVICE_PORT?g' \
| sed 's?DM_PROC_WEB_SERVICE_HOST=.*?DM_PROC_WEB_SERVICE_HOST=$DM_PROC_WEB_SERVICE_HOST?g' \
| sed 's?DM_PROC_WEB_SERVICE_PORT=.*?DM_PROC_WEB_SERVICE_PORT=$DM_PROC_WEB_SERVICE_PORT?g' \
| sed 's?DM_DS_WEB_SERVICE_URL=.*?DM_DS_WEB_SERVICE_URL=$DM_DS_WEB_SERVICE_URL?g' \
| sed 's?DM_APS_DB_WEB_SERVICE_URL=.*?DM_APS_DB_WEB_SERVICE_URL=$DM_APS_DB_WEB_SERVICE_URL?g' \
| sed 's?DM_PROC_WEB_SERVICE_URL=.*?DM_PROC_WEB_SERVICE_URL=$DM_PROC_WEB_SERVICE_URL?g' \
| sed 's?DM_HOSTNAME?$DM_HOSTNAME?g' \
| sed 's?DM_STATION_NAME=.*?DM_STATION_NAME=$DM_PROC_STATION_NAME?g' \
> $DM_USER_SETUP_FILE.2 && mv $DM_USER_SETUP_FILE.2 $DM_USER_SETUP_FILE"
eval $cmd || exit 1
echo "Starting mongodb service"
$DM_MONGODB_SERVICE_INIT_CMD restart
echo "Starting proc web service for $DM_DB_NAME"
$DM_WEB_SERVICE_INIT_CMD start $DM_DB_NAME
echo "Done deploying $DM_WEB_SERVICE_DAEMON for $DM_DB_NAME"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment