From 64677b091bf7c5d287e33b0bb92ed3060055fc8a Mon Sep 17 00:00:00 2001 From: JPHammonds <JPHammonds@anl.gov> Date: Fri, 2 Aug 2019 16:23:10 -0500 Subject: [PATCH] Changes to allow changing the domain name using DM_DOMAIN_NAME Change method of deployment. It was copying the files into the autodeploy directory & removing as needed. Now it is using the asadmin commands "deploy" and "undeploy" sub commands. --- sbin/dm_backup.sh | 5 +++- sbin/dm_configure_web_portal.sh | 13 +++++----- sbin/dm_deploy_web_portal.sh | 40 +++++++++++++++++-------------- sbin/dm_unconfigure_web_portal.sh | 8 ++++--- sbin/dm_undeploy_web_portal.sh | 19 ++++++++++----- 5 files changed, 50 insertions(+), 35 deletions(-) diff --git a/sbin/dm_backup.sh b/sbin/dm_backup.sh index be252817..87d7aa4a 100755 --- a/sbin/dm_backup.sh +++ b/sbin/dm_backup.sh @@ -35,6 +35,9 @@ if [ ! -z "$1" ]; then fi echo "Backing up $DM_DB_NAME" +#assign default domain name domain1 if it was not previously set. +DM_DOMAIN_NAME=${DM_DOMAIN_NAME:=domain1} + # Look for deployment file in etc directory, and use it to override # default entries deployConfigFile=$DM_ROOT_DIR/etc/${DM_DB_NAME}.deploy.conf @@ -114,7 +117,7 @@ rm -f $processingFile # Backup web app #echo "Backing up $DM_DB_NAME web app" -#rsync -arlvP $DM_SUPPORT_DIR/opt/payara/glassfish/domains/domain1/autodeploy/$DM_DB_NAME.war $DM_BACKUP_DIR +#rsync -arlvP $DM_SUPPORT_DIR/opt/payara/glassfish/domains/$DM_DOMAIN_NAME/autodeploy/$DM_DB_NAME.war $DM_BACKUP_DIR cleanup echo "Backup of DB $DM_DB_NAME is done." diff --git a/sbin/dm_configure_web_portal.sh b/sbin/dm_configure_web_portal.sh index 6665b06e..d66a2660 100755 --- a/sbin/dm_configure_web_portal.sh +++ b/sbin/dm_configure_web_portal.sh @@ -27,6 +27,9 @@ if [ ! -z "$1" ]; then fi echo "Using DB name: $DM_DB_NAME" +#assign default domain name domain1 if it was not previously set. +DM_DOMAIN_NAME=${DM_DOMAIN_NAME:=domain1} + # Look for deployment file in etc directory, and use it to override # default entries deployConfigFile=$DM_ROOT_DIR/etc/${DM_DB_NAME}.deploy.conf @@ -53,11 +56,10 @@ DM_DB_USER=${DM_DB_USER:=dm} DM_DB_PASSWORD=${DM_DB_PASSWORD:=dm} DM_DB_POOL=postgresql_${DM_DB_NAME}_DbPool DM_DATA_SOURCE=${DM_DB_NAME}_DataSource -DM_DOMAIN=domain1 # copy db driver echo "Copying db driver" -rsync -ar $DM_ROOT_DIR/src/java/DmWebPortal/lib/postgresql*.jdbc41.jar $PAYARA_DIR/glassfish/domains/${DM_DOMAIN}/lib/ext +rsync -ar $DM_ROOT_DIR/src/java/DmWebPortal/lib/postgresql*.jdbc41.jar $PAYARA_DIR/glassfish/domains/${DM_DOMAIN_NAME}/lib/ext # Check password from file passwordFile=$DM_INSTALL_DIR/etc/$DM_DB_NAME.db.passwd @@ -67,8 +69,8 @@ fi # restart server echo "Restarting payara" -$ASADMIN_CMD stop-domain ${DM_DOMAIN} -$ASADMIN_CMD start-domain ${DM_DOMAIN} +$ASADMIN_CMD stop-domain ${DM_DOMAIN_NAME} +$ASADMIN_CMD start-domain ${DM_DOMAIN_NAME} # create JDBC connection pool echo "Creating JDBC connection pool $DM_DB_POOL" @@ -78,9 +80,6 @@ $ASADMIN_CMD create-jdbc-connection-pool --datasourceclassname org.postgresql.ds echo "Creating JDBC resource $DM_DATA_SOURCE" $ASADMIN_CMD create-jdbc-resource --connectionpoolid ${DM_DB_POOL} ${DM_DATA_SOURCE} -# Remove unsecure access on port 8080 -$ASADMIN_CMD delete-http-listener "http-listener-1" - # test the connection settings echo "Testing connection" $ASADMIN_CMD ping-connection-pool $DM_DB_POOL || exit 1 diff --git a/sbin/dm_deploy_web_portal.sh b/sbin/dm_deploy_web_portal.sh index 24f51257..46aaf894 100755 --- a/sbin/dm_deploy_web_portal.sh +++ b/sbin/dm_deploy_web_portal.sh @@ -27,6 +27,10 @@ if [ ! -z "$1" ]; then fi echo "Using DB name: $DM_DB_NAME" +#assign default domain name domain1 if it was not previously set. Override this +by defining in setup.sh +DM_DOMAIN_NAME=${DM_DOMAIN_NAME:=domain1} + # Look for deployment file in etc directory, and use it to override # default entries deployConfigFile=$DM_ROOT_DIR/etc/${DM_DB_NAME}.deploy.conf @@ -43,7 +47,7 @@ DM_HOSTNAME=`hostname -f` DM_DATE=`date +%Y.%m.%d` DM_CONTEXT_ROOT=${DM_CONTEXT_ROOT:=dm} PAYARA_DIR=$DM_OPT_DIR/payara -DM_DEPLOY_DIR=$PAYARA_DIR/glassfish/domains/domain1/autodeploy +#DM_DEPLOY_DIR=$PAYARA_DIR/glassfish/domains/$DM_DOMAIN_NAME/autodeploy DM_PORTAL_DIST_DIR=$DM_ROOT_DIR/src/java/DmWebPortal/dist DM_BASE_DIST_DIR=$DM_ROOT_DIR/src/java/DmBase/dist DM_API_DIST_DIR=$DM_ROOT_DIR/src/java/DmApi/dist @@ -118,24 +122,24 @@ jar cf ../$DM_WAR_FILE * export AS_JAVA=$JAVA_HOME ASADMIN_CMD=$PAYARA_DIR/bin/asadmin -# copy war file -echo "Copying war file $DM_PORTAL_DIST_DIR/$DM_WAR_FILE to $DM_DEPLOY_DIR" -rm -f $DM_DEPLOY_DIR/${DM_WAR_FILE}_* -cp $DM_PORTAL_DIST_DIR/$DM_WAR_FILE $DM_DEPLOY_DIR +echo "Attempt to undeploy any current implementation of the application" +$ASADMIN_CMD undeploy $DM_CONTEXT_ROOT +echo "Attempting to deploy a new version of the application" +$ASADMIN_CMD deploy $DM_PORTAL_DIST_DIR/$DM_WAR_FILE # wait on deployment -echo "Waiting on war deployment..." -WAIT_TIME=60 -cd $DM_DEPLOY_DIR -t=0 -while [ $t -lt $WAIT_TIME ]; do - sleep 1 - deploymentStatus=`ls -c1 ${DM_WAR_FILE}_* 2> /dev/null | sed 's?.*war_??g'` - if [ ! -z "$deploymentStatus" ]; then - break - fi - t=`expr $t + 1` -done -echo "Deployment Status: $deploymentStatus" +#echo "Waiting on war deployment..." +#WAIT_TIME=60 +#cd $DM_DEPLOY_DIR +#t=0 +#while [ $t -lt $WAIT_TIME ]; do +# sleep 1 +# deploymentStatus=`ls -c1 ${DM_WAR_FILE}_* 2> /dev/null | sed 's?.*war_??g'` +# if [ ! -z "$deploymentStatus" ]; then +# break +# fi +# t=`expr $t + 1` +#done +#echo "Deployment Status: $deploymentStatus" diff --git a/sbin/dm_unconfigure_web_portal.sh b/sbin/dm_unconfigure_web_portal.sh index 99d3ba7e..6b060cc4 100755 --- a/sbin/dm_unconfigure_web_portal.sh +++ b/sbin/dm_unconfigure_web_portal.sh @@ -37,6 +37,9 @@ else echo "Deployment config file $deployConfigFile not found, using defaults" fi +#assign default domain name domain1 if it was not previously set. +DM_DOMAIN_NAME=${DM_DOMAIN_NAME:=domain1} + DM_HOST_ARCH=`uname | tr [A-Z] [a-z]`-`uname -m` JAVA_HOME=$DM_OPT_DIR/java/$DM_HOST_ARCH PAYARA_DIR=$DM_OPT_DIR/payara @@ -46,12 +49,11 @@ ASADMIN_CMD=$PAYARA_DIR/bin/asadmin DM_DB_POOL=postgresql_${DM_DB_NAME}_DbPool DM_DATA_SOURCE=${DM_DB_NAME}_DataSource -DM_DOMAIN=domain1 # restart server echo "Restarting payara" -$ASADMIN_CMD stop-domain ${DM_DOMAIN} -$ASADMIN_CMD start-domain ${DM_DOMAIN} +$ASADMIN_CMD stop-domain ${DM_DOMAIN_NAME} +$ASADMIN_CMD start-domain ${DM_DOMAIN_NAME} # delete JDBC resource associated with this connection pool echo "Deleting JDBC resource $DM_DATA_SOURCE" diff --git a/sbin/dm_undeploy_web_portal.sh b/sbin/dm_undeploy_web_portal.sh index 1efdd845..be8d946c 100755 --- a/sbin/dm_undeploy_web_portal.sh +++ b/sbin/dm_undeploy_web_portal.sh @@ -27,6 +27,9 @@ if [ ! -z "$1" ]; then fi echo "Using DB name: $DM_DB_NAME" +#assign default domain name domain1 if it was not previously set. +DM_DOMAIN_NAME=${DM_DOMAIN_NAME:=domain1} + # Look for deployment file in etc directory, and use it to override # default entries deployConfigFile=$DM_ROOT_DIR/etc/${DM_DB_NAME}.deploy.conf @@ -41,17 +44,21 @@ DM_HOST_ARCH=`uname | tr [A-Z] [a-z]`-`uname -m` DM_CONTEXT_ROOT=${DM_CONTEXT_ROOT:=dm} JAVA_HOME=$DM_OPT_DIR/java/$DM_HOST_ARCH PAYARA_DIR=$DM_OPT_DIR/payara -DM_DEPLOY_DIR=$PAYARA_DIR/glassfish/domains/domain1/autodeploy -DM_APP_DIR=$PAYARA_DIR/glassfish/domains/domain1/applications/$DM_CONTEXT_ROOT +DM_DOMAIN_DIR=$PAYARA_DIR/glassfish/domains/$DM_DOMAIN_NAME +#DM_DEPLOY_DIR=$DM_DOMAIN_DIR/autodeploy +DM_APP_DIR=$DM_DOMAIN_DIR/applications/$DM_CONTEXT_ROOT DM_DIST_DIR=$DM_ROOT_DIR/src/java/DmWebPortal/dist DM_WAR_FILE=$DM_CONTEXT_ROOT.war export AS_JAVA=$JAVA_HOME ASADMIN_CMD=$PAYARA_DIR/bin/asadmin +echo "Undeploying the application" +$ASADMIN_CMD undeploy $DM_CONTEXT_ROOT + # remove war file from autodeploy directory -echo "Removing war file $DM_DEPLOY_DIR/$DM_WAR_FILE" -rm -f $DM_DEPLOY_DIR/${DM_WAR_FILE}* +#echo "Removing war file $DM_DEPLOY_DIR/$DM_WAR_FILE" +#rm -f $DM_DEPLOY_DIR/${DM_WAR_FILE}* # remove war file from autodeploy directory if [ -d $DM_APP_DIR ]; then @@ -63,8 +70,8 @@ fi # restart server echo "Restarting payara" -$ASADMIN_CMD stop-domain ${DM_DOMAIN} -$ASADMIN_CMD start-domain ${DM_DOMAIN} +$ASADMIN_CMD stop-domain ${DM_DOMAIN_NAME} +$ASADMIN_CMD start-domain ${DM_DOMAIN_NAME} -- GitLab