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

introduced deployment files for cat web service

parent 498297ae
No related branches found
No related tags found
No related merge requests found
...@@ -5,8 +5,8 @@ TOP = . ...@@ -5,8 +5,8 @@ TOP = .
SUBDIRS = src SUBDIRS = src
.PHONY: support dev-config .PHONY: support dev-config
.PHONY: db backup db-dev deploy-web-portal undeploy-web-portal deploy-web-service undeploy-web-service .PHONY: db backup deploy-web-portal undeploy-web-portal deploy-ds-web-service undeploy-ds-web-service deploy-daq-web-service undeploy-daq-web-service deploy-cat-web-service undeploy-cat-web-service
.PHONY: db-dev backup-dev deploy-web-portal-dev undeploy-web-portal-dev deploy-web-service-dev undeploy-web-service-dev .PHONY: db-dev backup-dev deploy-web-portal-dev undeploy-web-portal-dev deploy-ds-web-service-dev undeploy-ds-web-service-dev deploy-daq-web-service-dev undeploy-daq-web-service-dev deploy-cat-web-service-dev undeploy-cat-web-service-dev
default: default:
...@@ -42,6 +42,9 @@ deploy-ds-web-service: ...@@ -42,6 +42,9 @@ deploy-ds-web-service:
deploy-daq-web-service: deploy-daq-web-service:
$(TOP)/sbin/dm_deploy_daq_web_service.sh $(TOP)/sbin/dm_deploy_daq_web_service.sh
deploy-cat-web-service:
$(TOP)/sbin/dm_deploy_cat_web_service.sh
unconfigure-web-portal: unconfigure-web-portal:
$(TOP)/sbin/dm_unconfigure_web_portal.sh $(TOP)/sbin/dm_unconfigure_web_portal.sh
...@@ -54,6 +57,9 @@ undeploy-ds-web-service: ...@@ -54,6 +57,9 @@ undeploy-ds-web-service:
undeploy-daq-web-service: undeploy-daq-web-service:
$(TOP)/sbin/dm_undeploy_daq_web_service.sh $(TOP)/sbin/dm_undeploy_daq_web_service.sh
undeploy-cat-web-service:
$(TOP)/sbin/dm_undeploy_cat_web_service.sh
db-dev: db-dev:
$(TOP)/sbin/dm_create_db.sh dm_dev $(TOP)/sbin/dm_create_db.sh dm_dev
...@@ -75,6 +81,9 @@ deploy-ds-web-service-dev: ...@@ -75,6 +81,9 @@ deploy-ds-web-service-dev:
deploy-daq-web-service-dev: deploy-daq-web-service-dev:
$(TOP)/sbin/dm_deploy_daq_web_service.sh dm_dev $(TOP)/sbin/dm_deploy_daq_web_service.sh dm_dev
deploy-cat-web-service-dev:
$(TOP)/sbin/dm_deploy_cat_web_service.sh dm_dev
unconfigure-web-portal-dev: unconfigure-web-portal-dev:
$(TOP)/sbin/dm_unconfigure_web_portal.sh dm_dev $(TOP)/sbin/dm_unconfigure_web_portal.sh dm_dev
...@@ -87,5 +96,8 @@ undeploy-ds-web-service-dev: ...@@ -87,5 +96,8 @@ undeploy-ds-web-service-dev:
undeploy-daq-web-service-dev: undeploy-daq-web-service-dev:
$(TOP)/sbin/dm_undeploy_daq_web_service.sh dm_dev $(TOP)/sbin/dm_undeploy_daq_web_service.sh dm_dev
undeploy-cat-web-service-dev:
$(TOP)/sbin/dm_undeploy_cat_web_service.sh dm_dev
include $(TOP)/tools/make/RULES_DM include $(TOP)/tools/make/RULES_DM
...@@ -13,5 +13,7 @@ DM_DS_WEB_SERVICE_HOST=DM_HOSTNAME ...@@ -13,5 +13,7 @@ DM_DS_WEB_SERVICE_HOST=DM_HOSTNAME
DM_DS_WEB_SERVICE_PORT=22236 DM_DS_WEB_SERVICE_PORT=22236
DM_DAQ_WEB_SERVICE_HOST=DM_HOSTNAME DM_DAQ_WEB_SERVICE_HOST=DM_HOSTNAME
DM_DAQ_WEB_SERVICE_PORT=33336 DM_DAQ_WEB_SERVICE_PORT=33336
DM_CAT_WEB_SERVICE_HOST=DM_HOSTNAME
DM_CAT_WEB_SERVICE_PORT=44436
DM_SOFTWARE_VERSION="0.2 (DM_DATE)" DM_SOFTWARE_VERSION="0.2 (DM_DATE)"
...@@ -13,6 +13,8 @@ DM_DS_WEB_SERVICE_HOST=DM_HOSTNAME ...@@ -13,6 +13,8 @@ DM_DS_WEB_SERVICE_HOST=DM_HOSTNAME
DM_DS_WEB_SERVICE_PORT=22237 DM_DS_WEB_SERVICE_PORT=22237
DM_DAQ_WEB_SERVICE_HOST=DM_HOSTNAME DM_DAQ_WEB_SERVICE_HOST=DM_HOSTNAME
DM_DAQ_WEB_SERVICE_PORT=33337 DM_DAQ_WEB_SERVICE_PORT=33337
DM_CAT_WEB_SERVICE_HOST=DM_HOSTNAME
DM_CAT_WEB_SERVICE_PORT=44437
DM_SOFTWARE_VERSION="Development Snapshot (DM_DATE)" DM_SOFTWARE_VERSION="Development Snapshot (DM_DATE)"
#!/bin/sh
#
# Script used for deploying DM CAT web service
# Deployment configuration can be set in etc/$DM_DB_NAME.deploy.conf file
#
# Usage:
#
# $0 [DM_DB_NAME]
#
MY_DIR=`dirname $0` && cd $MY_DIR && MY_DIR=`pwd`
if [ -z "${DM_ROOT_DIR}" ]; then
DM_ROOT_DIR=$MY_DIR/..
fi
DM_ENV_FILE=${DM_ROOT_DIR}/setup.sh
if [ ! -f ${DM_ENV_FILE} ]; then
echo "Environment file ${DM_ENV_FILE} does not exist."
exit 2
fi
. ${DM_ENV_FILE} > /dev/null
# Use first argument as db name, if provided
DM_DB_NAME=${DM_DB_NAME:=dm}
if [ ! -z "$1" ]; then
DM_DB_NAME=$1
fi
echo "Using DB name: $DM_DB_NAME"
# Look for deployment file in etc directory, and use it to override
# default entries
deployConfigFile=$DM_ROOT_DIR/etc/${DM_DB_NAME}.deploy.conf
if [ -f $deployConfigFile ]; then
echo "Using deployment config file: $deployConfigFile"
. $deployConfigFile
else
echo "Deployment config file $deployConfigFile not found, using defaults"
fi
DM_HOST_ARCH=`uname | tr [A-Z] [a-z]`-`uname -m`
DM_DATE=`date +%Y.%m.%d`
DM_HOSTNAME=`hostname -f`
DM_CONTEXT_ROOT=${DM_CONTEXT_ROOT:=dm}
DM_DATA_DIR=${DM_DATA_DIR:=/dm}
DM_INSTALL_DIR=${DM_INSTALL_DIR:=$DM_ROOT_DIR/..}
DM_ETC_DIR=${DM_INSTALL_DIR}/etc
DM_SSL_DIR=${DM_ETC_DIR}/ssl
DM_LOG_DIR=${DM_INSTALL_DIR}/var/log
DM_CA_DIR=${DM_ETC_DIR}/CA
DM_CA_CERT_FILE=${DM_SSL_DIR}/dm-ca-cert.pem
DM_WEB_SERVICE_DAEMON=cat-web-service
DM_WEB_SERVICE_CERT_FILE=${DM_SSL_DIR}/$DM_DB_NAME.$DM_WEB_SERVICE_DAEMON.crt
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_SYSTEM_PASSWORD_FILE=${DM_INSTALL_DIR}/etc/${DM_SYSTEM_USER}.system.passwd
DM_USER_SETUP_FILE=${DM_ETC_DIR}/${DM_DB_NAME}.setup.sh
cmd="echo $DM_CAT_WEB_SERVICE_HOST | sed 's?DM_HOSTNAME?$DM_HOSTNAME?'"
DM_WEB_SERVICE_HOST=`eval $cmd`
DM_WEB_SERVICE_PORT=$DM_CAT_WEB_SERVICE_PORT
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
echo "DM CAT web service host: $DM_CAT_WEB_SERVICE_HOST"
echo "DM DS web service host: $DM_DS_WEB_SERVICE_HOST"
echo "DM install directory: $DM_INSTALL_DIR"
mkdir -p $DM_ETC_DIR
mkdir -p $DM_SSL_DIR
mkdir -p $DM_LOG_DIR
chmod 700 $DM_SSL_DIR
echo "Stopping web service for $DM_DB_NAME"
$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_DS_WEB_SERVICE_HOST:$DM_CA_CERT_FILE $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_SERVICE_HOST.crt ]; then
echo "Attempting to create DM $DM_WEB_SERVICE_DAEMON certificate"
ssh $DM_DS_WEB_SERVICE_HOST "$MY_DIR/dm_create_server_cert.sh $DM_WEB_SERVICE_HOST $DM_WEB_SERVICE_HOST dm@aps.anl.gov"
fi
echo "Copying DM $DM_WEB_SERVICE_DAEMON certificate"
rsync -ar $DM_DS_WEB_SERVICE_HOST:$DM_CA_DIR/certs/$DM_WEB_SERVICE_HOST.crt $DM_WEB_SERVICE_CERT_FILE || exit 1
rsync -ar $DM_DS_WEB_SERVICE_HOST:$DM_CA_DIR/certs/$DM_WEB_SERVICE_HOST.key $DM_WEB_SERVICE_KEY_FILE || exit 1
else
echo "DM service certificate exists"
fi
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?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_STORAGE_DIR?$DM_STORAGE_DIR?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_DATA_DIR?$DM_DATA_DIR?g' \
| sed 's?DM_HOSTNAME?$DM_HOSTNAME?g' \
| sed 's?DM_DB_NAME?$DM_DB_NAME?g' \
> $DM_WEB_SERVICE_CONFIG_FILE"
eval $cmd || exit 1
else
echo "Service config file exists"
fi
# Modify version
echo "Modifying python module version"
versionFile=$DM_ROOT_DIR/src/python/dm/__init__.py
cmd="cat $versionFile | sed 's?__version__ =.*?__version__ = \"${DM_SOFTWARE_VERSION}\"?g' | sed 's?DM_DATE?$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
fi
# Prepare setup file
if [ ! -f $DM_USER_SETUP_FILE ]; then
echo "Copying user setup file $DM_USER_SETUP_FILE"
rsync -ar $DM_DS_WEB_SERVICE_HOST:$DM_USER_SETUP_FILE $DM_USER_SETUP_FILE || exit 1
fi
# Prepare setup file
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_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_HOSTNAME?$DM_HOSTNAME?g' \
> $DM_USER_SETUP_FILE.2 && mv $DM_USER_SETUP_FILE.2 $DM_USER_SETUP_FILE"
eval $cmd || exit 1
echo "Starting 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"
#!/bin/sh #!/bin/sh
# #
# Script used for deploying DM DS web service # Script used for deploying DM DAQ web service
# Deployment configuration can be set in etc/$DM_DB_NAME.deploy.conf file # Deployment configuration can be set in etc/$DM_DB_NAME.deploy.conf file
# #
# Usage: # Usage:
......
#!/bin/sh
#
# Script used for undeploying DM DAQ web service
# Deployment configuration can be set in etc/$DM_DB_NAME.deploy.conf file
#
# Usage:
#
# $0 [DM_DB_NAME]
#
MY_DIR=`dirname $0` && cd $MY_DIR && MY_DIR=`pwd`
if [ -z "${DM_ROOT_DIR}" ]; then
DM_ROOT_DIR=$MY_DIR/..
fi
DM_ENV_FILE=${DM_ROOT_DIR}/setup.sh
if [ ! -f ${DM_ENV_FILE} ]; then
echo "Environment file ${DM_ENV_FILE} does not exist."
exit 2
fi
. ${DM_ENV_FILE} > /dev/null
# Use first argument as db name, if provided
DM_DB_NAME=${DM_DB_NAME:=dm}
if [ ! -z "$1" ]; then
DM_DB_NAME=$1
fi
echo "Using DB name: $DM_DB_NAME"
# Look for deployment file in etc directory, and use it to override
# default entries
deployConfigFile=$DM_ROOT_DIR/etc/${DM_DB_NAME}.deploy.conf
if [ -f $deployConfigFile ]; then
echo "Using deployment config file: $deployConfigFile"
. $deployConfigFile
else
echo "Deployment config file $deployConfigFile not found, using defaults"
fi
DM_HOST_ARCH=`uname | tr [A-Z] [a-z]`-`uname -m`
DM_CONTEXT_ROOT=${DM_CONTEXT_ROOT:=dm}
DM_DATA_DIR=${DM_DATA_DIR:=/dm}
DM_INSTALL_DIR=${DM_INSTALL_DIR:=$DM_ROOT_DIR/..}
DM_ETC_DIR=${DM_INSTALL_DIR}/etc
DM_SSL_DIR=${DM_ETC_DIR}/ssl
DM_CA_DIR=${DM_ETC_DIR}/CA
DM_CA_CERT_FILE=${DM_SSL_DIR}/dm-ca-cert.pem
DM_WEB_SERVICE_DAEMON=daq-web-service
DM_WEB_SERVICE_CERT_FILE=${DM_SSL_DIR}/$DM_WEB_SERVICE_DAEMON.$DM_DB_NAME.crt
DM_WEB_SERVICE_KEY_FILE=${DM_SSL_DIR}/$DM_WEB_SERVICE_DAEMON.$DM_DB_NAME.key
DM_WEB_SERVICE_CONFIG_FILE=${DM_ETC_DIR}/$DM_WEB_SERVICE_DAEMON.$DM_DB_NAME.conf
DM_WEB_SERVICE_LOG_FILE=${DM_INSTALL_DIR}/var/log/$DM_WEB_SERVICE_DAEMON.$DM_DB_NAME.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
echo "DM install directory: $DM_INSTALL_DIR"
echo "Stopping web service for $DM_DB_NAME"
$DM_WEB_SERVICE_INIT_CMD stop $DM_DB_NAME
rm -f $DM_WEB_SERVICE_CONFIG_FILE
rm -f $DM_DB_PASSWORD_FILE
echo "Done undeploying web service for $DM_DB_NAME"
#!/bin/sh #!/bin/sh
# #
# Script used for undeploying DM DAQ web service # Script used for undeploying DM CAT web service
# Deployment configuration can be set in etc/$DM_DB_NAME.deploy.conf file # Deployment configuration can be set in etc/$DM_DB_NAME.deploy.conf file
# #
# Usage: # Usage:
...@@ -45,7 +45,7 @@ DM_ETC_DIR=${DM_INSTALL_DIR}/etc ...@@ -45,7 +45,7 @@ DM_ETC_DIR=${DM_INSTALL_DIR}/etc
DM_SSL_DIR=${DM_ETC_DIR}/ssl DM_SSL_DIR=${DM_ETC_DIR}/ssl
DM_CA_DIR=${DM_ETC_DIR}/CA DM_CA_DIR=${DM_ETC_DIR}/CA
DM_CA_CERT_FILE=${DM_SSL_DIR}/dm-ca-cert.pem DM_CA_CERT_FILE=${DM_SSL_DIR}/dm-ca-cert.pem
DM_WEB_SERVICE_DAEMON=daq-web-service DM_WEB_SERVICE_DAEMON=cat-web-service
DM_WEB_SERVICE_CERT_FILE=${DM_SSL_DIR}/$DM_WEB_SERVICE_DAEMON.$DM_DB_NAME.crt DM_WEB_SERVICE_CERT_FILE=${DM_SSL_DIR}/$DM_WEB_SERVICE_DAEMON.$DM_DB_NAME.crt
DM_WEB_SERVICE_KEY_FILE=${DM_SSL_DIR}/$DM_WEB_SERVICE_DAEMON.$DM_DB_NAME.key DM_WEB_SERVICE_KEY_FILE=${DM_SSL_DIR}/$DM_WEB_SERVICE_DAEMON.$DM_DB_NAME.key
DM_WEB_SERVICE_CONFIG_FILE=${DM_ETC_DIR}/$DM_WEB_SERVICE_DAEMON.$DM_DB_NAME.conf DM_WEB_SERVICE_CONFIG_FILE=${DM_ETC_DIR}/$DM_WEB_SERVICE_DAEMON.$DM_DB_NAME.conf
......
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