From 1a155a60b1d48bd691c57b11aac8db8a530cb85a Mon Sep 17 00:00:00 2001 From: Josh Date: Tue, 31 Jan 2023 14:52:09 -0800 Subject: [PATCH 01/16] upgrade schema for cws2.4 - script --- create_server_dist.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/create_server_dist.sh b/create_server_dist.sh index c0760c18..5f2c5b41 100755 --- a/create_server_dist.sh +++ b/create_server_dist.sh @@ -62,7 +62,7 @@ cp ${INSTALL_DIR}/logging/logstash-${LOGSTASH_VER}.zip ${CWS}/server # MOVE TEMPLATE CONFIG FILES INTO PLACE print 'Copying configuration templates...' CONFIG_TEMPLATES_DIR=${CWS}/config/templates -mkdir -p ${CONFIG_TEMPLATES_DIR}/{cws-engine,cws-ui,tomcat_bin,tomcat_lib,tomcat_conf,camunda_mods,engine-rest_mods,logging} +mkdir -p ${CONFIG_TEMPLATES_DIR}/{cws-engine,cws-ui,tomcat_bin,tomcat_lib,tomcat_conf,camunda_mods,engine-rest_mods,logging,upgrade} cp ${INSTALL_DIR}/tomcat_lib/css-jaas.cfg ${CONFIG_TEMPLATES_DIR}/tomcat_lib cp ${INSTALL_DIR}/tomcat_bin/setenv.sh ${CONFIG_TEMPLATES_DIR}/tomcat_bin @@ -81,6 +81,7 @@ cp ${INSTALL_DIR}/cws-ui/sqs_dispatcher_thread_bean.xml ${CONFIG_TEMPLATES cp ${INSTALL_DIR}/camunda_mods/web.xml ${CONFIG_TEMPLATES_DIR}/camunda_mods cp ${INSTALL_DIR}/engine-rest/web.xml ${CONFIG_TEMPLATES_DIR}/engine-rest_mods cp ${INSTALL_DIR}/logging/cws-logstash.conf ${CONFIG_TEMPLATES_DIR}/logging +cp ${INSTALL_DIR}/upgrade/upgrade_schema_2.3_to_2.4.sh ${CONFIG_TEMPLATES_DIR}/upgrade cp ${INSTALL_DIR}/refresh_cws_token.sh ${CONFIG_TEMPLATES_DIR} cp ${INSTALL_DIR}/stop_cws.sh ${CONFIG_TEMPLATES_DIR} cp ${INSTALL_DIR}/clean_es_history.sh ${CONFIG_TEMPLATES_DIR} From 18655fee5dab90319ae897d7bfada1c9e1406903 Mon Sep 17 00:00:00 2001 From: Josh Date: Tue, 31 Jan 2023 14:54:53 -0800 Subject: [PATCH 02/16] script and sql file --- install/upgrade/README.md | 22 +++++ install/upgrade/upgrade_core_db.sql | 1 + install/upgrade/upgrade_schema_2.3_to_2.4.sh | 85 ++++++++++++++++++++ 3 files changed, 108 insertions(+) create mode 100644 install/upgrade/README.md create mode 100644 install/upgrade/upgrade_core_db.sql create mode 100644 install/upgrade/upgrade_schema_2.3_to_2.4.sh diff --git a/install/upgrade/README.md b/install/upgrade/README.md new file mode 100644 index 00000000..ddd5b843 --- /dev/null +++ b/install/upgrade/README.md @@ -0,0 +1,22 @@ +# CWS v2.4 DB Schema Upgrade + + +### _Purpose:_ + +* *CWSv2.4* : Alter database table *cws_worker* to add new column `max_num_running_procs` + + +## Instructions for running bash script + + +``` +cd install/upgrade/ +``` + +``` +chmod +x upgrade_schema_2.3_to_2.4.sh +``` + +``` +./upgrade_schema_2.3_to_2.4.sh +``` \ No newline at end of file diff --git a/install/upgrade/upgrade_core_db.sql b/install/upgrade/upgrade_core_db.sql new file mode 100644 index 00000000..eb5273b1 --- /dev/null +++ b/install/upgrade/upgrade_core_db.sql @@ -0,0 +1 @@ +ALTER TABLE cws_worker ADD max_num_running_procs int(11) NOT NULL; diff --git a/install/upgrade/upgrade_schema_2.3_to_2.4.sh b/install/upgrade/upgrade_schema_2.3_to_2.4.sh new file mode 100644 index 00000000..7febb350 --- /dev/null +++ b/install/upgrade/upgrade_schema_2.3_to_2.4.sh @@ -0,0 +1,85 @@ +#!/bin/bash +# ------------------- +# upgrade_2.3_to_2.4.sh +# ------------------- +# Upgrade CWS-2.3 infrastructure/database to CWS-2.4 +ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + + +# re-do question (include specific new column) +read -p "Would you like to upgrade the CWS DB Schema for CWSv2.3 to CWSv2.4 (Y/N): " UPGRADE_DB +while [[ ! ${UPGRADE_DB} =~ $(echo "^(y|Y|n|N)$") ]]; do + print " ERROR: Must specify either 'Y' or 'N'."; + read -p "Continue? (Y/N): " UPGRADE_DB +done + + + +if [[ ${UPGRADE_DB} =~ $(echo "^(y|Y)$") ]] +then + + + read -p 'DB HOST: ' DB_HOST + read -p 'DB Name: ' DB_NAME + read -p 'DB Port: ' DB_PORT + read -p 'DB Username: ' DB_USERNAME + read -sp 'DB Password: ' DB_PASSWORD + + echo " " + + + + # ---------------------------------------- + echo " " + echo "Database configuration is:" + echo " DB HOST: ${DB_HOST}" + echo " DB NAME: ${DB_NAME}" + echo " DB PORT: ${DB_PORT}" + echo " DB USERNAME: ${DB_USERNAME}" + echo " DB PASSWORD: ${DB_PASSWORD}" + + echo " the ROOT is ${ROOT}" + + echo " " + + #mysql --defaults-file=my.cnf ${dbname} < sql/cws/upgrade.sql + + + echo "[mysql]" > ${ROOT}/myupgrade.cnf + echo "host=${DB_HOST}" >> ${ROOT}/myupgrade.cnf + echo "user=\"${DB_USERNAME}\"" >> ${ROOT}/myupgrade.cnf + echo "password=\"${DB_PASSWORD}\"" >> ${ROOT}/myupgrade.cnf + chmod 644 ${ROOT}/myupgrade.cnf + + pwd + ls + + cat ${ROOT}/myupgrade.cnf + + echo "Checking whether database ${DB_NAME} already exists..." + RES=`mysql --defaults-file=${ROOT}/myupgrade.cnf -e "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '${DB_NAME}'"` + + if [[ $? -gt 0 ]]; then + echo "ERROR: Problem checking for database. " + echo " Please check your database configuration, and try again." + rm -f ${ROOT}/myupgrade.cnf + exit 1 + fi + echo " Database ${DB_NAME} exists." + + + + echo "Upgrading tables in CWS CORE DB..." + mysql --defaults-file=${ROOT}/myupgrade.cnf ${DB_NAME} < ${ROOT}/upgrade_core_db.sql + + if [[ $? -gt 0 ]]; then + echo "ERROR: Problem creating upgrading tables." + echo " Please check your database upgrade script '${ROOT}/upgrade_core_db.sql', and try again." + rm -rf ${ROOT}/myupgrade.cnf + exit 1 + fi + # MAKE SURE TO DELETE myupgrade file + +else + echo " Upgrade to CWS DB was NOT made." +fi From 1324990f2deaf56aad22e6723d5ea0884b44f9c3 Mon Sep 17 00:00:00 2001 From: Josh Date: Wed, 1 Feb 2023 13:32:29 -0800 Subject: [PATCH 03/16] upgrade script for CWSv2.4 database --- .gitignore | 4 +- create_server_dist.sh | 7 ++- install/upgrade/README.md | 8 +-- ...ma_2.3_to_2.4.sh => upgrade_2.3_to_2.4.sh} | 59 +++++++++++-------- install/upgrade/upgrade_core_db.sql | 2 +- 5 files changed, 45 insertions(+), 35 deletions(-) rename install/upgrade/{upgrade_schema_2.3_to_2.4.sh => upgrade_2.3_to_2.4.sh} (57%) mode change 100644 => 100755 diff --git a/.gitignore b/.gitignore index 69b0dadb..d3b907a3 100644 --- a/.gitignore +++ b/.gitignore @@ -32,4 +32,6 @@ install/logging/logstash-*.zip # JaCoCo Reports /target /jacoco-reports -/test-screenshots \ No newline at end of file +/test-screenshots + +*.cnf \ No newline at end of file diff --git a/create_server_dist.sh b/create_server_dist.sh index 5f2c5b41..a7f714b9 100755 --- a/create_server_dist.sh +++ b/create_server_dist.sh @@ -19,7 +19,7 @@ print 'Removing previous distribution directory...' rm -rf ${DIST} print 'Creating new CWS distribution directory...' -mkdir -p ${CWS}/{bpmn,config/templates,installer,logs,sql/cws} +mkdir -p ${CWS}/{bpmn,config/templates,installer,logs,upgrade,sql/cws} print 'Unzipping Camunda into distribution...' unzip ${INSTALL_DIR}/cws_camunda-bpm-tomcat-${CAMUNDA_VER}.zip -x start-camunda.bat start-camunda.sh -d ${CWS} > ${CWS}/logs/camunda_extract.log 2>&1 @@ -81,7 +81,6 @@ cp ${INSTALL_DIR}/cws-ui/sqs_dispatcher_thread_bean.xml ${CONFIG_TEMPLATES cp ${INSTALL_DIR}/camunda_mods/web.xml ${CONFIG_TEMPLATES_DIR}/camunda_mods cp ${INSTALL_DIR}/engine-rest/web.xml ${CONFIG_TEMPLATES_DIR}/engine-rest_mods cp ${INSTALL_DIR}/logging/cws-logstash.conf ${CONFIG_TEMPLATES_DIR}/logging -cp ${INSTALL_DIR}/upgrade/upgrade_schema_2.3_to_2.4.sh ${CONFIG_TEMPLATES_DIR}/upgrade cp ${INSTALL_DIR}/refresh_cws_token.sh ${CONFIG_TEMPLATES_DIR} cp ${INSTALL_DIR}/stop_cws.sh ${CONFIG_TEMPLATES_DIR} cp ${INSTALL_DIR}/clean_es_history.sh ${CONFIG_TEMPLATES_DIR} @@ -220,6 +219,10 @@ cp ${INSTALL_DIR}/launch_ls.sh ${CWS} print 'Copying Modeller scripts and libraries...' cp -R ${INSTALL_DIR}/modeler ${CWS} +print 'Copying Upgrade scripts...' +cp -R ${INSTALL_DIR}/upgrade/upgrade_2.3_to_2.4.sh ${CWS}/upgrade +cp -R ${INSTALL_DIR}/upgrade/upgrade_core_db.sql ${CWS}/upgrade + print 'Installing context.xml to Tomcat...' cp ${INSTALL_DIR}/context.xml ${CWS_TOMCAT_ROOT}/conf/context.xml diff --git a/install/upgrade/README.md b/install/upgrade/README.md index ddd5b843..0dfb2ba5 100644 --- a/install/upgrade/README.md +++ b/install/upgrade/README.md @@ -1,4 +1,4 @@ -# CWS v2.4 DB Schema Upgrade +# CWS v2.4 Database Upgrade ### _Purpose:_ @@ -14,9 +14,5 @@ cd install/upgrade/ ``` ``` -chmod +x upgrade_schema_2.3_to_2.4.sh -``` - -``` -./upgrade_schema_2.3_to_2.4.sh +./upgrade_2.3_to_2.4.sh ``` \ No newline at end of file diff --git a/install/upgrade/upgrade_schema_2.3_to_2.4.sh b/install/upgrade/upgrade_2.3_to_2.4.sh old mode 100644 new mode 100755 similarity index 57% rename from install/upgrade/upgrade_schema_2.3_to_2.4.sh rename to install/upgrade/upgrade_2.3_to_2.4.sh index 7febb350..e2f61bee --- a/install/upgrade/upgrade_schema_2.3_to_2.4.sh +++ b/install/upgrade/upgrade_2.3_to_2.4.sh @@ -6,14 +6,13 @@ ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -# re-do question (include specific new column) -read -p "Would you like to upgrade the CWS DB Schema for CWSv2.3 to CWSv2.4 (Y/N): " UPGRADE_DB +read -p "Would you like to upgrade the CWS Database from CWSv2.3 to CWSv2.4? (Y/N): " UPGRADE_DB while [[ ! ${UPGRADE_DB} =~ $(echo "^(y|Y|n|N)$") ]]; do - print " ERROR: Must specify either 'Y' or 'N'."; + echo " ERROR: Must specify either 'Y' or 'N'."; read -p "Continue? (Y/N): " UPGRADE_DB done - +echo " " if [[ ${UPGRADE_DB} =~ $(echo "^(y|Y)$") ]] then @@ -28,33 +27,25 @@ then echo " " - # ---------------------------------------- echo " " - echo "Database configuration is:" - echo " DB HOST: ${DB_HOST}" - echo " DB NAME: ${DB_NAME}" - echo " DB PORT: ${DB_PORT}" + echo "Database Configuration is:" + echo " DB HOST: ${DB_HOST}" + echo " DB NAME: ${DB_NAME}" + echo " DB PORT: ${DB_PORT}" echo " DB USERNAME: ${DB_USERNAME}" - echo " DB PASSWORD: ${DB_PASSWORD}" + echo " DB PASSWORD: [PASSWORD]" - echo " the ROOT is ${ROOT}" echo " " - #mysql --defaults-file=my.cnf ${dbname} < sql/cws/upgrade.sql - - echo "[mysql]" > ${ROOT}/myupgrade.cnf echo "host=${DB_HOST}" >> ${ROOT}/myupgrade.cnf echo "user=\"${DB_USERNAME}\"" >> ${ROOT}/myupgrade.cnf echo "password=\"${DB_PASSWORD}\"" >> ${ROOT}/myupgrade.cnf chmod 644 ${ROOT}/myupgrade.cnf - pwd - ls - cat ${ROOT}/myupgrade.cnf echo "Checking whether database ${DB_NAME} already exists..." RES=`mysql --defaults-file=${ROOT}/myupgrade.cnf -e "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '${DB_NAME}'"` @@ -65,21 +56,39 @@ then rm -f ${ROOT}/myupgrade.cnf exit 1 fi - echo " Database ${DB_NAME} exists." + FOUND=`echo $RES | grep ${DB_NAME} | wc -l` + if [[ ${FOUND} -eq 1 ]]; then + echo " Database ${DB_NAME} exists." - echo "Upgrading tables in CWS CORE DB..." - mysql --defaults-file=${ROOT}/myupgrade.cnf ${DB_NAME} < ${ROOT}/upgrade_core_db.sql - if [[ $? -gt 0 ]]; then - echo "ERROR: Problem creating upgrading tables." - echo " Please check your database upgrade script '${ROOT}/upgrade_core_db.sql', and try again." + echo " " + echo "Updating tables in CWS CORE DB..." + mysql --defaults-file=${ROOT}/myupgrade.cnf ${DB_NAME} < ${ROOT}/upgrade_core_db.sql + + if [[ $? -gt 0 ]]; then + echo "ERROR: Problem updating tables. Database Column may already exist." + echo " Please check your database upgrade sql template '${ROOT}/upgrade_core_db.sql', and try again." + rm -rf ${ROOT}/myupgrade.cnf + exit 1 + fi + rm -rf ${ROOT}/myupgrade.cnf - exit 1 + + else + + echo " Database ${DB_NAME} DOES NOT exists. Please check your database configuration" + + fi - # MAKE SURE TO DELETE myupgrade file + + + + else echo " Upgrade to CWS DB was NOT made." + rm -rf ${ROOT}/myupgrade.cnf + fi diff --git a/install/upgrade/upgrade_core_db.sql b/install/upgrade/upgrade_core_db.sql index eb5273b1..91713b41 100644 --- a/install/upgrade/upgrade_core_db.sql +++ b/install/upgrade/upgrade_core_db.sql @@ -1 +1 @@ -ALTER TABLE cws_worker ADD max_num_running_procs int(11) NOT NULL; +ALTER TABLE cws_worker ADD now_post int(11) NOT NULL; From 9946133451435990397ec10cc195fba6b8a6d740 Mon Sep 17 00:00:00 2001 From: Josh Date: Wed, 1 Feb 2023 13:34:08 -0800 Subject: [PATCH 04/16] edit create_server_dist --- create_server_dist.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/create_server_dist.sh b/create_server_dist.sh index a7f714b9..548adc0a 100755 --- a/create_server_dist.sh +++ b/create_server_dist.sh @@ -62,7 +62,7 @@ cp ${INSTALL_DIR}/logging/logstash-${LOGSTASH_VER}.zip ${CWS}/server # MOVE TEMPLATE CONFIG FILES INTO PLACE print 'Copying configuration templates...' CONFIG_TEMPLATES_DIR=${CWS}/config/templates -mkdir -p ${CONFIG_TEMPLATES_DIR}/{cws-engine,cws-ui,tomcat_bin,tomcat_lib,tomcat_conf,camunda_mods,engine-rest_mods,logging,upgrade} +mkdir -p ${CONFIG_TEMPLATES_DIR}/{cws-engine,cws-ui,tomcat_bin,tomcat_lib,tomcat_conf,camunda_mods,engine-rest_mods,logging} cp ${INSTALL_DIR}/tomcat_lib/css-jaas.cfg ${CONFIG_TEMPLATES_DIR}/tomcat_lib cp ${INSTALL_DIR}/tomcat_bin/setenv.sh ${CONFIG_TEMPLATES_DIR}/tomcat_bin From b7ec85fd7d877caade9da36bb81b1fb3f6e3490b Mon Sep 17 00:00:00 2001 From: Josh Date: Wed, 1 Feb 2023 17:03:44 -0800 Subject: [PATCH 05/16] update the readme --- install/upgrade/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/upgrade/README.md b/install/upgrade/README.md index 0dfb2ba5..558a07f4 100644 --- a/install/upgrade/README.md +++ b/install/upgrade/README.md @@ -6,7 +6,7 @@ * *CWSv2.4* : Alter database table *cws_worker* to add new column `max_num_running_procs` -## Instructions for running bash script +To run use the commands: ``` From 6d19d340aef8a523e040cb7851227aa32578b0fd Mon Sep 17 00:00:00 2001 From: Josh Date: Thu, 2 Feb 2023 15:14:41 -0800 Subject: [PATCH 06/16] fix upgrade_core_db column name - max_num_running_procs --- install/upgrade/upgrade_core_db.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/upgrade/upgrade_core_db.sql b/install/upgrade/upgrade_core_db.sql index 91713b41..eb5273b1 100644 --- a/install/upgrade/upgrade_core_db.sql +++ b/install/upgrade/upgrade_core_db.sql @@ -1 +1 @@ -ALTER TABLE cws_worker ADD now_post int(11) NOT NULL; +ALTER TABLE cws_worker ADD max_num_running_procs int(11) NOT NULL; From a6ee2ab297f7ec1fe0a1cfd1b50c7ab37cb5db15 Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 3 Feb 2023 13:21:32 -0800 Subject: [PATCH 07/16] fix script - insert default CORE to new column --- create_server_dist.sh | 2 +- install/upgrade/upgrade_2.3_to_2.4.sh | 24 +++++++++++++++++++++--- install/upgrade/upgrade_core_db.sql | 1 - 3 files changed, 22 insertions(+), 5 deletions(-) delete mode 100644 install/upgrade/upgrade_core_db.sql diff --git a/create_server_dist.sh b/create_server_dist.sh index 548adc0a..4c2b9cea 100755 --- a/create_server_dist.sh +++ b/create_server_dist.sh @@ -221,7 +221,7 @@ cp -R ${INSTALL_DIR}/modeler ${CWS} print 'Copying Upgrade scripts...' cp -R ${INSTALL_DIR}/upgrade/upgrade_2.3_to_2.4.sh ${CWS}/upgrade -cp -R ${INSTALL_DIR}/upgrade/upgrade_core_db.sql ${CWS}/upgrade +cp -R ${INSTALL_DIR}/upgrade/README.md ${CWS}/upgrade print 'Installing context.xml to Tomcat...' cp ${INSTALL_DIR}/context.xml ${CWS_TOMCAT_ROOT}/conf/context.xml diff --git a/install/upgrade/upgrade_2.3_to_2.4.sh b/install/upgrade/upgrade_2.3_to_2.4.sh index e2f61bee..14f66b44 100755 --- a/install/upgrade/upgrade_2.3_to_2.4.sh +++ b/install/upgrade/upgrade_2.3_to_2.4.sh @@ -18,7 +18,7 @@ if [[ ${UPGRADE_DB} =~ $(echo "^(y|Y)$") ]] then - read -p 'DB HOST: ' DB_HOST + read -p 'DB Host: ' DB_HOST read -p 'DB Name: ' DB_NAME read -p 'DB Port: ' DB_PORT read -p 'DB Username: ' DB_USERNAME @@ -46,6 +46,17 @@ then chmod 644 ${ROOT}/myupgrade.cnf + echo "Checking number of CORES on machine..." + + if [[ "$OSTYPE" =~ ^darwin ]]; then + CORE_NUMBER=`sysctl -n hw.ncpu` + echo " CORE: " ${CORE_NUMBER} + fi + if [[ "$OSTYPE" =~ ^linux ]]; then + CORE_NUMBER_=`lscpu -b -p=Core,Socket | grep -v '^#' | sort -u | wc -l` + echo " CORE: " ${CORE_NUMBER} + fi + echo "Checking whether database ${DB_NAME} already exists..." RES=`mysql --defaults-file=${ROOT}/myupgrade.cnf -e "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '${DB_NAME}'"` @@ -54,6 +65,7 @@ then echo "ERROR: Problem checking for database. " echo " Please check your database configuration, and try again." rm -f ${ROOT}/myupgrade.cnf + rm -rf ${ROOT}/upgrade_core_db.sql exit 1 fi @@ -65,22 +77,27 @@ then echo " " echo "Updating tables in CWS CORE DB..." + + echo "ALTER TABLE cws_worker ADD max_num_running_procs int(11) DEFAULT ${CORE_NUMBER};" > ${ROOT}/upgrade_core_db.sql + mysql --defaults-file=${ROOT}/myupgrade.cnf ${DB_NAME} < ${ROOT}/upgrade_core_db.sql if [[ $? -gt 0 ]]; then echo "ERROR: Problem updating tables. Database Column may already exist." echo " Please check your database upgrade sql template '${ROOT}/upgrade_core_db.sql', and try again." rm -rf ${ROOT}/myupgrade.cnf + rm -rf ${ROOT}/upgrade_core_db.sql exit 1 fi rm -rf ${ROOT}/myupgrade.cnf + rm -rf ${ROOT}/upgrade_core_db.sql - else + echo " Upgrade to CWS DB was made." + else echo " Database ${DB_NAME} DOES NOT exists. Please check your database configuration" - fi @@ -90,5 +107,6 @@ then else echo " Upgrade to CWS DB was NOT made." rm -rf ${ROOT}/myupgrade.cnf + rm -rf ${ROOT}/upgrade_core_db.sql fi diff --git a/install/upgrade/upgrade_core_db.sql b/install/upgrade/upgrade_core_db.sql deleted file mode 100644 index eb5273b1..00000000 --- a/install/upgrade/upgrade_core_db.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE cws_worker ADD max_num_running_procs int(11) NOT NULL; From 488983efc66d8ecb1feec47f1a6c5f23096f386d Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 3 Feb 2023 14:00:37 -0800 Subject: [PATCH 08/16] clean up script alter command --- install/upgrade/upgrade_2.3_to_2.4.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/install/upgrade/upgrade_2.3_to_2.4.sh b/install/upgrade/upgrade_2.3_to_2.4.sh index 14f66b44..0e5c8642 100755 --- a/install/upgrade/upgrade_2.3_to_2.4.sh +++ b/install/upgrade/upgrade_2.3_to_2.4.sh @@ -57,7 +57,6 @@ then echo " CORE: " ${CORE_NUMBER} fi - echo "Checking whether database ${DB_NAME} already exists..." RES=`mysql --defaults-file=${ROOT}/myupgrade.cnf -e "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '${DB_NAME}'"` @@ -78,7 +77,7 @@ then echo " " echo "Updating tables in CWS CORE DB..." - echo "ALTER TABLE cws_worker ADD max_num_running_procs int(11) DEFAULT ${CORE_NUMBER};" > ${ROOT}/upgrade_core_db.sql + echo "ALTER TABLE cws_worker ADD max_num_running_procs int(11) DEFAULT ${CORE_NUMBER} AFTER job_executor_max_pool_size;" > ${ROOT}/upgrade_core_db.sql mysql --defaults-file=${ROOT}/myupgrade.cnf ${DB_NAME} < ${ROOT}/upgrade_core_db.sql @@ -93,7 +92,7 @@ then rm -rf ${ROOT}/myupgrade.cnf rm -rf ${ROOT}/upgrade_core_db.sql - echo " Upgrade to CWS DB was made." + echo " Upgrade to CWS Database was made." else echo " Database ${DB_NAME} DOES NOT exists. Please check your database configuration" @@ -105,7 +104,7 @@ then else - echo " Upgrade to CWS DB was NOT made." + echo " Upgrade to CWS Database was NOT made." rm -rf ${ROOT}/myupgrade.cnf rm -rf ${ROOT}/upgrade_core_db.sql From c4b235e673e889600ef88327fb3e41d933688867 Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 3 Feb 2023 14:43:13 -0800 Subject: [PATCH 09/16] update to README file --- install/upgrade/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install/upgrade/README.md b/install/upgrade/README.md index 558a07f4..ff0231d9 100644 --- a/install/upgrade/README.md +++ b/install/upgrade/README.md @@ -1,7 +1,8 @@ # CWS v2.4 Database Upgrade +#### _Notice: Make sure to use the CWS Version 2.4 installation after using this script for the relevant Database_ -### _Purpose:_ +### Purpose: * *CWSv2.4* : Alter database table *cws_worker* to add new column `max_num_running_procs` From 4e757668edf7ac6574d2b70facc3fea0853bf5b1 Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 3 Feb 2023 15:03:03 -0800 Subject: [PATCH 10/16] change readme versions text --- install/upgrade/README.md | 2 +- install/upgrade/upgrade_2.3_to_2.4.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/install/upgrade/README.md b/install/upgrade/README.md index ff0231d9..47e5c20b 100644 --- a/install/upgrade/README.md +++ b/install/upgrade/README.md @@ -4,7 +4,7 @@ ### Purpose: -* *CWSv2.4* : Alter database table *cws_worker* to add new column `max_num_running_procs` +* *CWS v2.4* : Alter database table *cws_worker* to add new column `max_num_running_procs` To run use the commands: diff --git a/install/upgrade/upgrade_2.3_to_2.4.sh b/install/upgrade/upgrade_2.3_to_2.4.sh index 0e5c8642..3b970a8a 100755 --- a/install/upgrade/upgrade_2.3_to_2.4.sh +++ b/install/upgrade/upgrade_2.3_to_2.4.sh @@ -2,11 +2,11 @@ # ------------------- # upgrade_2.3_to_2.4.sh # ------------------- -# Upgrade CWS-2.3 infrastructure/database to CWS-2.4 +# Upgrade CWS v2.3 infrastructure/database to CWS v2.4 ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -read -p "Would you like to upgrade the CWS Database from CWSv2.3 to CWSv2.4? (Y/N): " UPGRADE_DB +read -p "Would you like to upgrade the CWS Database from CWS v2.3 to CWS v2.4? (Y/N): " UPGRADE_DB while [[ ! ${UPGRADE_DB} =~ $(echo "^(y|Y|n|N)$") ]]; do echo " ERROR: Must specify either 'Y' or 'N'."; read -p "Continue? (Y/N): " UPGRADE_DB From fd11142f1037ced42771773ee73b367d0f49a05d Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 3 Feb 2023 15:04:23 -0800 Subject: [PATCH 11/16] add warning --- install/upgrade/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/upgrade/README.md b/install/upgrade/README.md index 47e5c20b..7ba2d1db 100644 --- a/install/upgrade/README.md +++ b/install/upgrade/README.md @@ -1,6 +1,6 @@ # CWS v2.4 Database Upgrade -#### _Notice: Make sure to use the CWS Version 2.4 installation after using this script for the relevant Database_ +#### _WARNING: Make sure to use the CWS Version 2.4 installation after using this script for the relevant Database_ ### Purpose: From fad6149aa170cc09dca4d28e37a1985de51480e3 Mon Sep 17 00:00:00 2001 From: Josh Date: Tue, 11 Apr 2023 14:34:42 -0700 Subject: [PATCH 12/16] add delete worker rows to mysql commands --- install/upgrade/README.md | 9 +++-- install/upgrade/upgrade_2.3_to_2.4.sh | 52 +++++++++++---------------- 2 files changed, 26 insertions(+), 35 deletions(-) diff --git a/install/upgrade/README.md b/install/upgrade/README.md index 7ba2d1db..dcb96eaa 100644 --- a/install/upgrade/README.md +++ b/install/upgrade/README.md @@ -2,12 +2,15 @@ #### _WARNING: Make sure to use the CWS Version 2.4 installation after using this script for the relevant Database_ -### Purpose: +This script helps to prepare an existing CWS v2.3 database to be used for a new CWS v2.4 installation by updating its schema to match that of CWS v2.4 core. This method of upgrading the CWS database gives the user the option of preserving data and migrating to a newer CWS installation without blowing up the entire database. -* *CWS v2.4* : Alter database table *cws_worker* to add new column `max_num_running_procs` +### Actions: +* *CWS v2.4* : + * Alter database table *cws_worker* to add new column `max_num_running_procs` + * Remove existing worker rows from tables `cws_worker` and `cws_worker_proc_def` -To run use the commands: +To run the commands: ``` diff --git a/install/upgrade/upgrade_2.3_to_2.4.sh b/install/upgrade/upgrade_2.3_to_2.4.sh index 3b970a8a..802bad75 100755 --- a/install/upgrade/upgrade_2.3_to_2.4.sh +++ b/install/upgrade/upgrade_2.3_to_2.4.sh @@ -5,47 +5,46 @@ # Upgrade CWS v2.3 infrastructure/database to CWS v2.4 ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - read -p "Would you like to upgrade the CWS Database from CWS v2.3 to CWS v2.4? (Y/N): " UPGRADE_DB while [[ ! ${UPGRADE_DB} =~ $(echo "^(y|Y|n|N)$") ]]; do echo " ERROR: Must specify either 'Y' or 'N'."; read -p "Continue? (Y/N): " UPGRADE_DB done -echo " " - if [[ ${UPGRADE_DB} =~ $(echo "^(y|Y)$") ]] then - - + echo " " + echo "[Enter Your Database Configuration]" read -p 'DB Host: ' DB_HOST read -p 'DB Name: ' DB_NAME read -p 'DB Port: ' DB_PORT read -p 'DB Username: ' DB_USERNAME read -sp 'DB Password: ' DB_PASSWORD - echo " " - - - # ---------------------------------------- echo " " - echo "Database Configuration is:" - echo " DB HOST: ${DB_HOST}" - echo " DB NAME: ${DB_NAME}" - echo " DB PORT: ${DB_PORT}" - echo " DB USERNAME: ${DB_USERNAME}" - echo " DB PASSWORD: [PASSWORD]" + echo "Your database Configuration is:" + echo " DB HOST: ${DB_HOST}" + echo " DB NAME: ${DB_NAME}" + echo " DB PORT: ${DB_PORT}" + echo " DB USERNAME: ${DB_USERNAME}" + echo " DB PASSWORD: [PASSWORD]" + echo " " + while [[ ! ${CREDS_DB} =~ $(echo "^(y|Y|n|N)$") ]]; do + read -p "Do you want to continue with the database upgrade? (specify either 'Y' or 'N'): " CREDS_DB + done +fi +if [[ ${CREDS_DB} =~ $(echo "^(y|Y)$") ]] +then echo " " - echo "[mysql]" > ${ROOT}/myupgrade.cnf echo "host=${DB_HOST}" >> ${ROOT}/myupgrade.cnf echo "user=\"${DB_USERNAME}\"" >> ${ROOT}/myupgrade.cnf echo "password=\"${DB_PASSWORD}\"" >> ${ROOT}/myupgrade.cnf + echo "port=\"${DB_PORT}\"" >> ${ROOT}/myupgrade.cnf chmod 644 ${ROOT}/myupgrade.cnf - echo "Checking number of CORES on machine..." if [[ "$OSTYPE" =~ ^darwin ]]; then @@ -72,12 +71,10 @@ then if [[ ${FOUND} -eq 1 ]]; then echo " Database ${DB_NAME} exists." - - echo " " echo "Updating tables in CWS CORE DB..." - echo "ALTER TABLE cws_worker ADD max_num_running_procs int(11) DEFAULT ${CORE_NUMBER} AFTER job_executor_max_pool_size;" > ${ROOT}/upgrade_core_db.sql + echo -e "DELETE FROM cws_worker_proc_def WHERE worker_id=(SELECT id FROM cws_worker WHERE name='worker0000');\nDELETE FROM cws_worker WHERE name='worker0000';\nDELETE FROM cws_worker_proc_def;\nDELETE FROM cws_worker;\nALTER TABLE cws_worker ADD max_num_running_procs int(11) DEFAULT ${CORE_NUMBER} AFTER job_executor_max_pool_size;" >> ${ROOT}/upgrade_core_db.sql mysql --defaults-file=${ROOT}/myupgrade.cnf ${DB_NAME} < ${ROOT}/upgrade_core_db.sql @@ -91,21 +88,12 @@ then rm -rf ${ROOT}/myupgrade.cnf rm -rf ${ROOT}/upgrade_core_db.sql - - echo " Upgrade to CWS Database was made." - + echo " Upgrade to CWS Database was made." else - echo " Database ${DB_NAME} DOES NOT exists. Please check your database configuration" - + echo " Database ${DB_NAME} DOES NOT exists. Please check your database configuration" fi - - - - - else - echo " Upgrade to CWS Database was NOT made." + echo " Upgrade to CWS Database was NOT made." rm -rf ${ROOT}/myupgrade.cnf rm -rf ${ROOT}/upgrade_core_db.sql - fi From 3185b4846a9de49d609bf514c0ccdb9abf8cd46e Mon Sep 17 00:00:00 2001 From: Josh Date: Thu, 11 May 2023 15:02:03 -0700 Subject: [PATCH 13/16] add upgrade script for 2.1 and 2.2 --- install/upgrade/2.1_to_2.4/README.md | 22 ++++ .../upgrade/2.1_to_2.4/upgrade_2.1_to_2.4.sh | 112 ++++++++++++++++++ install/upgrade/2.2_to_2.4/README.md | 22 ++++ .../upgrade/2.2_to_2.4/upgrade_2.3_to_2.4.sh | 106 +++++++++++++++++ install/upgrade/{ => 2.3_to_2.4}/README.md | 2 +- .../{ => 2.3_to_2.4}/upgrade_2.3_to_2.4.sh | 11 +- 6 files changed, 272 insertions(+), 3 deletions(-) create mode 100644 install/upgrade/2.1_to_2.4/README.md create mode 100755 install/upgrade/2.1_to_2.4/upgrade_2.1_to_2.4.sh create mode 100644 install/upgrade/2.2_to_2.4/README.md create mode 100755 install/upgrade/2.2_to_2.4/upgrade_2.3_to_2.4.sh rename install/upgrade/{ => 2.3_to_2.4}/README.md (95%) rename install/upgrade/{ => 2.3_to_2.4}/upgrade_2.3_to_2.4.sh (86%) diff --git a/install/upgrade/2.1_to_2.4/README.md b/install/upgrade/2.1_to_2.4/README.md new file mode 100644 index 00000000..c36917eb --- /dev/null +++ b/install/upgrade/2.1_to_2.4/README.md @@ -0,0 +1,22 @@ +# CWS v2.4 Database Upgrade + +#### _WARNING: Make sure to use the CWS Version 2.4 installation after using this script for the relevant Database_ + +This script helps to prepare an existing CWS v2.1 database to be used for a new CWS v2.4 installation by updating its schema to match that of CWS v2.4 core. This method of upgrading the CWS database gives the user the option of preserving data and migrating to a newer CWS installation without blowing up the entire database. + +### Actions: + +* *CWS v2.4* : + * Alter database table *cws_worker* to add new column `max_num_running_procs` + * Remove existing worker rows from tables `cws_worker` and `cws_worker_proc_def` + +To run the commands: + + +``` +cd install/upgrade/2.1_to_2.4/ +``` + +``` +./upgrade_2.1_to_2.4.sh +``` \ No newline at end of file diff --git a/install/upgrade/2.1_to_2.4/upgrade_2.1_to_2.4.sh b/install/upgrade/2.1_to_2.4/upgrade_2.1_to_2.4.sh new file mode 100755 index 00000000..995318dc --- /dev/null +++ b/install/upgrade/2.1_to_2.4/upgrade_2.1_to_2.4.sh @@ -0,0 +1,112 @@ +#!/bin/bash +# ------------------- +# upgrade_2.1_to_2.4.sh +# ------------------- +# Upgrade CWS v2.1 infrastructure/database to CWS v2.4 +ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +read -p "Would you like to upgrade the CWS Database from CWS v2.1 to CWS v2.4? (Y/N): " UPGRADE_DB +while [[ ! ${UPGRADE_DB} =~ $(echo "^(y|Y|n|N)$") ]]; do + echo " ERROR: Must specify either 'Y' or 'N'."; + read -p "Continue? (Y/N): " UPGRADE_DB +done + +if [[ ${UPGRADE_DB} =~ $(echo "^(y|Y)$") ]] +then + echo " " + echo "[Enter Your Database Configuration]" + read -p 'DB Host: ' DB_HOST + read -p 'DB Name: ' DB_NAME + read -p 'DB Port: ' DB_PORT + read -p 'DB Username: ' DB_USERNAME + read -sp 'DB Password: ' DB_PASSWORD + echo " " + echo " " + echo "Your database Configuration is:" + echo " DB HOST: ${DB_HOST}" + echo " DB NAME: ${DB_NAME}" + echo " DB PORT: ${DB_PORT}" + echo " DB USERNAME: ${DB_USERNAME}" + echo " DB PASSWORD: [PASSWORD]" + echo " " + + while [[ ! ${CREDS_DB} =~ $(echo "^(y|Y|n|N)$") ]]; do + read -p "Do you want to continue with the database upgrade? (specify either 'Y' or 'N'): " CREDS_DB + done +fi + +if [[ ${CREDS_DB} =~ $(echo "^(y|Y)$") ]] +then + echo " " + echo "[mysql]" > ${ROOT}/myupgrade.cnf + echo "host=${DB_HOST}" >> ${ROOT}/myupgrade.cnf + echo "user=\"${DB_USERNAME}\"" >> ${ROOT}/myupgrade.cnf + echo "password=\"${DB_PASSWORD}\"" >> ${ROOT}/myupgrade.cnf + echo "port=\"${DB_PORT}\"" >> ${ROOT}/myupgrade.cnf + chmod 644 ${ROOT}/myupgrade.cnf + + echo "Checking number of CORES on machine..." + + if [[ "$OSTYPE" =~ ^darwin ]]; then + CORE_NUMBER=`sysctl -n hw.ncpu` + echo " CORE: " ${CORE_NUMBER} + fi + if [[ "$OSTYPE" =~ ^linux ]]; then + CORE_NUMBER_=`lscpu -b -p=Core,Socket | grep -v '^#' | sort -u | wc -l` + echo " CORE: " ${CORE_NUMBER} + fi + + echo "Checking whether database ${DB_NAME} already exists..." + RES=`mysql --defaults-file=${ROOT}/myupgrade.cnf -e "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '${DB_NAME}'"` + + if [[ $? -gt 0 ]]; then + echo "ERROR: Problem checking for database. " + echo " Please check your database configuration, and try again." + rm -f ${ROOT}/myupgrade.cnf + rm -rf ${ROOT}/upgrade_core_db.sql + exit 1 + fi + + FOUND=`echo $RES | grep ${DB_NAME} | wc -l` + + if [[ ${FOUND} -eq 1 ]]; then + echo " Database ${DB_NAME} exists." + echo " " + echo "Updating tables in CWS CORE DB..." + + #echo -e "DELETE FROM cws_worker_proc_def WHERE worker_id=(SELECT id FROM cws_worker WHERE name='worker0000');\nDELETE FROM cws_worker WHERE name='worker0000';\nDELETE FROM cws_worker_proc_def;\nDELETE FROM cws_worker;\nALTER TABLE cws_worker ADD max_num_running_procs int(11) DEFAULT ${CORE_NUMBER} AFTER job_executor_max_pool_size;" >> ${ROOT}/upgrade_core_db.sql + + + + cat > ${ROOT}/upgrade_core_db.sql <<- EOF + DELETE FROM cws_log_usage WHERE worker_id=(SELECT id FROM cws_worker WHERE name='worker0000'); + DELETE FROM cws_worker_proc_def WHERE worker_id=(SELECT id FROM cws_worker WHERE name='worker0000'); + DELETE FROM cws_worker WHERE name='worker0000'; + DELETE FROM cws_log_usage; + DELETE FROM cws_worker_proc_def; + DELETE FROM cws_worker; + ALTER TABLE cws_worker ADD max_num_running_procs int(11) DEFAULT ${CORE_NUMBER} AFTER job_executor_max_pool_size; +EOF + + mysql --defaults-file=${ROOT}/myupgrade.cnf ${DB_NAME} < ${ROOT}/upgrade_core_db.sql + + if [[ $? -gt 0 ]]; then + echo "ERROR: Problem updating tables. Database Column may already exist." + echo " Please check your database upgrade sql template '${ROOT}/upgrade_core_db.sql', and try again." + cat ${ROOT}/upgrade_core_db.sql + cat ${ROOT}/myupgrade.cnf + rm -rf ${ROOT}/myupgrade.cnf + rm -rf ${ROOT}/upgrade_core_db.sql + exit 1 + fi + rm -rf ${ROOT}/myupgrade.cnf + rm -rf ${ROOT}/upgrade_core_db.sql + echo " Upgrade to CWS Database was made." + else + echo " Database ${DB_NAME} DOES NOT exists. Please check your database configuration" + fi +else + echo " Upgrade to CWS Database was NOT made." + rm -rf ${ROOT}/myupgrade.cnf + rm -rf ${ROOT}/upgrade_core_db.sql +fi diff --git a/install/upgrade/2.2_to_2.4/README.md b/install/upgrade/2.2_to_2.4/README.md new file mode 100644 index 00000000..78700f9b --- /dev/null +++ b/install/upgrade/2.2_to_2.4/README.md @@ -0,0 +1,22 @@ +# CWS v2.4 Database Upgrade + +#### _WARNING: Make sure to use the CWS Version 2.4 installation after using this script for the relevant Database_ + +This script helps to prepare an existing CWS v2.2 database to be used for a new CWS v2.4 installation by updating its schema to match that of CWS v2.4 core. This method of upgrading the CWS database gives the user the option of preserving data and migrating to a newer CWS installation without blowing up the entire database. + +### Actions: + +* *CWS v2.4* : + * Alter database table *cws_worker* to add new column `max_num_running_procs` + * Remove existing worker rows from tables `cws_worker` and `cws_worker_proc_def` + +To run the commands: + + +``` +cd install/upgrade/2.2_to_2.4/ +``` + +``` +./upgrade_2.2_to_2.4.sh +``` \ No newline at end of file diff --git a/install/upgrade/2.2_to_2.4/upgrade_2.3_to_2.4.sh b/install/upgrade/2.2_to_2.4/upgrade_2.3_to_2.4.sh new file mode 100755 index 00000000..56c91f92 --- /dev/null +++ b/install/upgrade/2.2_to_2.4/upgrade_2.3_to_2.4.sh @@ -0,0 +1,106 @@ +#!/bin/bash +# ------------------- +# upgrade_2.2_to_2.4.sh +# ------------------- +# Upgrade CWS v2.2 infrastructure/database to CWS v2.4 +ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +read -p "Would you like to upgrade the CWS Database from CWS v2.2 to CWS v2.4? (Y/N): " UPGRADE_DB +while [[ ! ${UPGRADE_DB} =~ $(echo "^(y|Y|n|N)$") ]]; do + echo " ERROR: Must specify either 'Y' or 'N'."; + read -p "Continue? (Y/N): " UPGRADE_DB +done + +if [[ ${UPGRADE_DB} =~ $(echo "^(y|Y)$") ]] +then + echo " " + echo "[Enter Your Database Configuration]" + read -p 'DB Host: ' DB_HOST + read -p 'DB Name: ' DB_NAME + read -p 'DB Port: ' DB_PORT + read -p 'DB Username: ' DB_USERNAME + read -sp 'DB Password: ' DB_PASSWORD + echo " " + echo " " + echo "Your database Configuration is:" + echo " DB HOST: ${DB_HOST}" + echo " DB NAME: ${DB_NAME}" + echo " DB PORT: ${DB_PORT}" + echo " DB USERNAME: ${DB_USERNAME}" + echo " DB PASSWORD: [PASSWORD]" + echo " " + + while [[ ! ${CREDS_DB} =~ $(echo "^(y|Y|n|N)$") ]]; do + read -p "Do you want to continue with the database upgrade? (specify either 'Y' or 'N'): " CREDS_DB + done +fi + +if [[ ${CREDS_DB} =~ $(echo "^(y|Y)$") ]] +then + echo " " + echo "[mysql]" > ${ROOT}/myupgrade.cnf + echo "host=${DB_HOST}" >> ${ROOT}/myupgrade.cnf + echo "user=\"${DB_USERNAME}\"" >> ${ROOT}/myupgrade.cnf + echo "password=\"${DB_PASSWORD}\"" >> ${ROOT}/myupgrade.cnf + echo "port=\"${DB_PORT}\"" >> ${ROOT}/myupgrade.cnf + chmod 644 ${ROOT}/myupgrade.cnf + + echo "Checking number of CORES on machine..." + + if [[ "$OSTYPE" =~ ^darwin ]]; then + CORE_NUMBER=`sysctl -n hw.ncpu` + echo " CORE: " ${CORE_NUMBER} + fi + if [[ "$OSTYPE" =~ ^linux ]]; then + CORE_NUMBER_=`lscpu -b -p=Core,Socket | grep -v '^#' | sort -u | wc -l` + echo " CORE: " ${CORE_NUMBER} + fi + + echo "Checking whether database ${DB_NAME} already exists..." + RES=`mysql --defaults-file=${ROOT}/myupgrade.cnf -e "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '${DB_NAME}'"` + + if [[ $? -gt 0 ]]; then + echo "ERROR: Problem checking for database. " + echo " Please check your database configuration, and try again." + rm -f ${ROOT}/myupgrade.cnf + rm -rf ${ROOT}/upgrade_core_db.sql + exit 1 + fi + + FOUND=`echo $RES | grep ${DB_NAME} | wc -l` + + if [[ ${FOUND} -eq 1 ]]; then + echo " Database ${DB_NAME} exists." + echo " " + echo "Updating tables in CWS CORE DB..." + +cat > ${ROOT}/upgrade_core_db.sql <<- EOF +DELETE FROM cws_log_usage WHERE worker_id=(SELECT id FROM cws_worker WHERE name='worker0000'); +DELETE FROM cws_worker_proc_def WHERE worker_id=(SELECT id FROM cws_worker WHERE name='worker0000'); +DELETE FROM cws_worker WHERE name='worker0000'; +DELETE FROM cws_log_usage; +DELETE FROM cws_worker_proc_def; +DELETE FROM cws_worker; +ALTER TABLE cws_worker ADD max_num_running_procs int(11) DEFAULT ${CORE_NUMBER} AFTER job_executor_max_pool_size; +EOF + + mysql --defaults-file=${ROOT}/myupgrade.cnf ${DB_NAME} < ${ROOT}/upgrade_core_db.sql + + if [[ $? -gt 0 ]]; then + echo "ERROR: Problem updating tables. Database Column may already exist." + echo " Please check your database upgrade sql template '${ROOT}/upgrade_core_db.sql', and try again." + rm -rf ${ROOT}/myupgrade.cnf + rm -rf ${ROOT}/upgrade_core_db.sql + exit 1 + fi + rm -rf ${ROOT}/myupgrade.cnf + rm -rf ${ROOT}/upgrade_core_db.sql + echo " Upgrade to CWS Database was made." + else + echo " Database ${DB_NAME} DOES NOT exists. Please check your database configuration" + fi +else + echo " Upgrade to CWS Database was NOT made." + rm -rf ${ROOT}/myupgrade.cnf + rm -rf ${ROOT}/upgrade_core_db.sql +fi diff --git a/install/upgrade/README.md b/install/upgrade/2.3_to_2.4/README.md similarity index 95% rename from install/upgrade/README.md rename to install/upgrade/2.3_to_2.4/README.md index dcb96eaa..7d19b3f2 100644 --- a/install/upgrade/README.md +++ b/install/upgrade/2.3_to_2.4/README.md @@ -14,7 +14,7 @@ To run the commands: ``` -cd install/upgrade/ +cd install/upgrade/2.3_to_2.4/ ``` ``` diff --git a/install/upgrade/upgrade_2.3_to_2.4.sh b/install/upgrade/2.3_to_2.4/upgrade_2.3_to_2.4.sh similarity index 86% rename from install/upgrade/upgrade_2.3_to_2.4.sh rename to install/upgrade/2.3_to_2.4/upgrade_2.3_to_2.4.sh index 802bad75..843ea33c 100755 --- a/install/upgrade/upgrade_2.3_to_2.4.sh +++ b/install/upgrade/2.3_to_2.4/upgrade_2.3_to_2.4.sh @@ -74,7 +74,15 @@ then echo " " echo "Updating tables in CWS CORE DB..." - echo -e "DELETE FROM cws_worker_proc_def WHERE worker_id=(SELECT id FROM cws_worker WHERE name='worker0000');\nDELETE FROM cws_worker WHERE name='worker0000';\nDELETE FROM cws_worker_proc_def;\nDELETE FROM cws_worker;\nALTER TABLE cws_worker ADD max_num_running_procs int(11) DEFAULT ${CORE_NUMBER} AFTER job_executor_max_pool_size;" >> ${ROOT}/upgrade_core_db.sql +cat > ${ROOT}/upgrade_core_db.sql <<- EOF +DELETE FROM cws_log_usage WHERE worker_id=(SELECT id FROM cws_worker WHERE name='worker0000'); +DELETE FROM cws_worker_proc_def WHERE worker_id=(SELECT id FROM cws_worker WHERE name='worker0000'); +DELETE FROM cws_worker WHERE name='worker0000'; +DELETE FROM cws_log_usage; +DELETE FROM cws_worker_proc_def; +DELETE FROM cws_worker; +ALTER TABLE cws_worker ADD max_num_running_procs int(11) DEFAULT ${CORE_NUMBER} AFTER job_executor_max_pool_size; +EOF mysql --defaults-file=${ROOT}/myupgrade.cnf ${DB_NAME} < ${ROOT}/upgrade_core_db.sql @@ -85,7 +93,6 @@ then rm -rf ${ROOT}/upgrade_core_db.sql exit 1 fi - rm -rf ${ROOT}/myupgrade.cnf rm -rf ${ROOT}/upgrade_core_db.sql echo " Upgrade to CWS Database was made." From 3d8302dee33ab7f9fe68be0b26fadebd77b3a34c Mon Sep 17 00:00:00 2001 From: Josh Date: Thu, 11 May 2023 17:33:34 -0700 Subject: [PATCH 14/16] add 2.2 and 2.3 to dist --- create_server_dist.sh | 10 +- .../upgrade/2.2_to_2.4/upgrade_2.3_to_2.4.sh | 106 ------------------ 2 files changed, 7 insertions(+), 109 deletions(-) delete mode 100755 install/upgrade/2.2_to_2.4/upgrade_2.3_to_2.4.sh diff --git a/create_server_dist.sh b/create_server_dist.sh index 4c2b9cea..9be49bc6 100755 --- a/create_server_dist.sh +++ b/create_server_dist.sh @@ -19,7 +19,7 @@ print 'Removing previous distribution directory...' rm -rf ${DIST} print 'Creating new CWS distribution directory...' -mkdir -p ${CWS}/{bpmn,config/templates,installer,logs,upgrade,sql/cws} +mkdir -p ${CWS}/{bpmn,config/templates,installer,logs,upgrade/2.1_to_2.4,upgrade/2.2_to_2.4,upgrade/2.3_to_2.4,sql/cws} print 'Unzipping Camunda into distribution...' unzip ${INSTALL_DIR}/cws_camunda-bpm-tomcat-${CAMUNDA_VER}.zip -x start-camunda.bat start-camunda.sh -d ${CWS} > ${CWS}/logs/camunda_extract.log 2>&1 @@ -220,8 +220,12 @@ print 'Copying Modeller scripts and libraries...' cp -R ${INSTALL_DIR}/modeler ${CWS} print 'Copying Upgrade scripts...' -cp -R ${INSTALL_DIR}/upgrade/upgrade_2.3_to_2.4.sh ${CWS}/upgrade -cp -R ${INSTALL_DIR}/upgrade/README.md ${CWS}/upgrade +cp -R ${INSTALL_DIR}/upgrade/2.1_to_2.4/upgrade_2.1_to_2.4.sh ${CWS}/upgrade/2.1_to_2.4 +cp -R ${INSTALL_DIR}/upgrade/2.1_to_2.4/README.md ${CWS}/upgrade/2.1_to_2.4 +cp -R ${INSTALL_DIR}/upgrade/2.2_to_2.4/upgrade_2.2_to_2.4.sh ${CWS}/upgrade/2.2_to_2.4 +cp -R ${INSTALL_DIR}/upgrade/2.2_to_2.4/README.md ${CWS}/upgrade/2.2_to_2.4 +cp -R ${INSTALL_DIR}/upgrade/2.3_to_2.4/upgrade_2.3_to_2.4.sh ${CWS}/upgrade/2.3_to_2.4 +cp -R ${INSTALL_DIR}/upgrade/2.3_to_2.4/README.md ${CWS}/upgrade/2.3_to_2.4 print 'Installing context.xml to Tomcat...' cp ${INSTALL_DIR}/context.xml ${CWS_TOMCAT_ROOT}/conf/context.xml diff --git a/install/upgrade/2.2_to_2.4/upgrade_2.3_to_2.4.sh b/install/upgrade/2.2_to_2.4/upgrade_2.3_to_2.4.sh deleted file mode 100755 index 56c91f92..00000000 --- a/install/upgrade/2.2_to_2.4/upgrade_2.3_to_2.4.sh +++ /dev/null @@ -1,106 +0,0 @@ -#!/bin/bash -# ------------------- -# upgrade_2.2_to_2.4.sh -# ------------------- -# Upgrade CWS v2.2 infrastructure/database to CWS v2.4 -ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -read -p "Would you like to upgrade the CWS Database from CWS v2.2 to CWS v2.4? (Y/N): " UPGRADE_DB -while [[ ! ${UPGRADE_DB} =~ $(echo "^(y|Y|n|N)$") ]]; do - echo " ERROR: Must specify either 'Y' or 'N'."; - read -p "Continue? (Y/N): " UPGRADE_DB -done - -if [[ ${UPGRADE_DB} =~ $(echo "^(y|Y)$") ]] -then - echo " " - echo "[Enter Your Database Configuration]" - read -p 'DB Host: ' DB_HOST - read -p 'DB Name: ' DB_NAME - read -p 'DB Port: ' DB_PORT - read -p 'DB Username: ' DB_USERNAME - read -sp 'DB Password: ' DB_PASSWORD - echo " " - echo " " - echo "Your database Configuration is:" - echo " DB HOST: ${DB_HOST}" - echo " DB NAME: ${DB_NAME}" - echo " DB PORT: ${DB_PORT}" - echo " DB USERNAME: ${DB_USERNAME}" - echo " DB PASSWORD: [PASSWORD]" - echo " " - - while [[ ! ${CREDS_DB} =~ $(echo "^(y|Y|n|N)$") ]]; do - read -p "Do you want to continue with the database upgrade? (specify either 'Y' or 'N'): " CREDS_DB - done -fi - -if [[ ${CREDS_DB} =~ $(echo "^(y|Y)$") ]] -then - echo " " - echo "[mysql]" > ${ROOT}/myupgrade.cnf - echo "host=${DB_HOST}" >> ${ROOT}/myupgrade.cnf - echo "user=\"${DB_USERNAME}\"" >> ${ROOT}/myupgrade.cnf - echo "password=\"${DB_PASSWORD}\"" >> ${ROOT}/myupgrade.cnf - echo "port=\"${DB_PORT}\"" >> ${ROOT}/myupgrade.cnf - chmod 644 ${ROOT}/myupgrade.cnf - - echo "Checking number of CORES on machine..." - - if [[ "$OSTYPE" =~ ^darwin ]]; then - CORE_NUMBER=`sysctl -n hw.ncpu` - echo " CORE: " ${CORE_NUMBER} - fi - if [[ "$OSTYPE" =~ ^linux ]]; then - CORE_NUMBER_=`lscpu -b -p=Core,Socket | grep -v '^#' | sort -u | wc -l` - echo " CORE: " ${CORE_NUMBER} - fi - - echo "Checking whether database ${DB_NAME} already exists..." - RES=`mysql --defaults-file=${ROOT}/myupgrade.cnf -e "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '${DB_NAME}'"` - - if [[ $? -gt 0 ]]; then - echo "ERROR: Problem checking for database. " - echo " Please check your database configuration, and try again." - rm -f ${ROOT}/myupgrade.cnf - rm -rf ${ROOT}/upgrade_core_db.sql - exit 1 - fi - - FOUND=`echo $RES | grep ${DB_NAME} | wc -l` - - if [[ ${FOUND} -eq 1 ]]; then - echo " Database ${DB_NAME} exists." - echo " " - echo "Updating tables in CWS CORE DB..." - -cat > ${ROOT}/upgrade_core_db.sql <<- EOF -DELETE FROM cws_log_usage WHERE worker_id=(SELECT id FROM cws_worker WHERE name='worker0000'); -DELETE FROM cws_worker_proc_def WHERE worker_id=(SELECT id FROM cws_worker WHERE name='worker0000'); -DELETE FROM cws_worker WHERE name='worker0000'; -DELETE FROM cws_log_usage; -DELETE FROM cws_worker_proc_def; -DELETE FROM cws_worker; -ALTER TABLE cws_worker ADD max_num_running_procs int(11) DEFAULT ${CORE_NUMBER} AFTER job_executor_max_pool_size; -EOF - - mysql --defaults-file=${ROOT}/myupgrade.cnf ${DB_NAME} < ${ROOT}/upgrade_core_db.sql - - if [[ $? -gt 0 ]]; then - echo "ERROR: Problem updating tables. Database Column may already exist." - echo " Please check your database upgrade sql template '${ROOT}/upgrade_core_db.sql', and try again." - rm -rf ${ROOT}/myupgrade.cnf - rm -rf ${ROOT}/upgrade_core_db.sql - exit 1 - fi - rm -rf ${ROOT}/myupgrade.cnf - rm -rf ${ROOT}/upgrade_core_db.sql - echo " Upgrade to CWS Database was made." - else - echo " Database ${DB_NAME} DOES NOT exists. Please check your database configuration" - fi -else - echo " Upgrade to CWS Database was NOT made." - rm -rf ${ROOT}/myupgrade.cnf - rm -rf ${ROOT}/upgrade_core_db.sql -fi From 73c030c719aceeba4999f6289f38e1e7181f03c2 Mon Sep 17 00:00:00 2001 From: Josh Date: Thu, 11 May 2023 17:34:11 -0700 Subject: [PATCH 15/16] rename --- .../upgrade/2.2_to_2.4/upgrade_2.2_to_2.4.sh | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100755 install/upgrade/2.2_to_2.4/upgrade_2.2_to_2.4.sh diff --git a/install/upgrade/2.2_to_2.4/upgrade_2.2_to_2.4.sh b/install/upgrade/2.2_to_2.4/upgrade_2.2_to_2.4.sh new file mode 100755 index 00000000..56c91f92 --- /dev/null +++ b/install/upgrade/2.2_to_2.4/upgrade_2.2_to_2.4.sh @@ -0,0 +1,106 @@ +#!/bin/bash +# ------------------- +# upgrade_2.2_to_2.4.sh +# ------------------- +# Upgrade CWS v2.2 infrastructure/database to CWS v2.4 +ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +read -p "Would you like to upgrade the CWS Database from CWS v2.2 to CWS v2.4? (Y/N): " UPGRADE_DB +while [[ ! ${UPGRADE_DB} =~ $(echo "^(y|Y|n|N)$") ]]; do + echo " ERROR: Must specify either 'Y' or 'N'."; + read -p "Continue? (Y/N): " UPGRADE_DB +done + +if [[ ${UPGRADE_DB} =~ $(echo "^(y|Y)$") ]] +then + echo " " + echo "[Enter Your Database Configuration]" + read -p 'DB Host: ' DB_HOST + read -p 'DB Name: ' DB_NAME + read -p 'DB Port: ' DB_PORT + read -p 'DB Username: ' DB_USERNAME + read -sp 'DB Password: ' DB_PASSWORD + echo " " + echo " " + echo "Your database Configuration is:" + echo " DB HOST: ${DB_HOST}" + echo " DB NAME: ${DB_NAME}" + echo " DB PORT: ${DB_PORT}" + echo " DB USERNAME: ${DB_USERNAME}" + echo " DB PASSWORD: [PASSWORD]" + echo " " + + while [[ ! ${CREDS_DB} =~ $(echo "^(y|Y|n|N)$") ]]; do + read -p "Do you want to continue with the database upgrade? (specify either 'Y' or 'N'): " CREDS_DB + done +fi + +if [[ ${CREDS_DB} =~ $(echo "^(y|Y)$") ]] +then + echo " " + echo "[mysql]" > ${ROOT}/myupgrade.cnf + echo "host=${DB_HOST}" >> ${ROOT}/myupgrade.cnf + echo "user=\"${DB_USERNAME}\"" >> ${ROOT}/myupgrade.cnf + echo "password=\"${DB_PASSWORD}\"" >> ${ROOT}/myupgrade.cnf + echo "port=\"${DB_PORT}\"" >> ${ROOT}/myupgrade.cnf + chmod 644 ${ROOT}/myupgrade.cnf + + echo "Checking number of CORES on machine..." + + if [[ "$OSTYPE" =~ ^darwin ]]; then + CORE_NUMBER=`sysctl -n hw.ncpu` + echo " CORE: " ${CORE_NUMBER} + fi + if [[ "$OSTYPE" =~ ^linux ]]; then + CORE_NUMBER_=`lscpu -b -p=Core,Socket | grep -v '^#' | sort -u | wc -l` + echo " CORE: " ${CORE_NUMBER} + fi + + echo "Checking whether database ${DB_NAME} already exists..." + RES=`mysql --defaults-file=${ROOT}/myupgrade.cnf -e "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '${DB_NAME}'"` + + if [[ $? -gt 0 ]]; then + echo "ERROR: Problem checking for database. " + echo " Please check your database configuration, and try again." + rm -f ${ROOT}/myupgrade.cnf + rm -rf ${ROOT}/upgrade_core_db.sql + exit 1 + fi + + FOUND=`echo $RES | grep ${DB_NAME} | wc -l` + + if [[ ${FOUND} -eq 1 ]]; then + echo " Database ${DB_NAME} exists." + echo " " + echo "Updating tables in CWS CORE DB..." + +cat > ${ROOT}/upgrade_core_db.sql <<- EOF +DELETE FROM cws_log_usage WHERE worker_id=(SELECT id FROM cws_worker WHERE name='worker0000'); +DELETE FROM cws_worker_proc_def WHERE worker_id=(SELECT id FROM cws_worker WHERE name='worker0000'); +DELETE FROM cws_worker WHERE name='worker0000'; +DELETE FROM cws_log_usage; +DELETE FROM cws_worker_proc_def; +DELETE FROM cws_worker; +ALTER TABLE cws_worker ADD max_num_running_procs int(11) DEFAULT ${CORE_NUMBER} AFTER job_executor_max_pool_size; +EOF + + mysql --defaults-file=${ROOT}/myupgrade.cnf ${DB_NAME} < ${ROOT}/upgrade_core_db.sql + + if [[ $? -gt 0 ]]; then + echo "ERROR: Problem updating tables. Database Column may already exist." + echo " Please check your database upgrade sql template '${ROOT}/upgrade_core_db.sql', and try again." + rm -rf ${ROOT}/myupgrade.cnf + rm -rf ${ROOT}/upgrade_core_db.sql + exit 1 + fi + rm -rf ${ROOT}/myupgrade.cnf + rm -rf ${ROOT}/upgrade_core_db.sql + echo " Upgrade to CWS Database was made." + else + echo " Database ${DB_NAME} DOES NOT exists. Please check your database configuration" + fi +else + echo " Upgrade to CWS Database was NOT made." + rm -rf ${ROOT}/myupgrade.cnf + rm -rf ${ROOT}/upgrade_core_db.sql +fi From b14ab9e0649870ee71b76cf761b8dd19a7337a69 Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 12 May 2023 13:17:48 -0700 Subject: [PATCH 16/16] revert to 1 upgrade script --- create_server_dist.sh | 10 +- install/upgrade/2.1_to_2.4/README.md | 22 ---- .../upgrade/2.1_to_2.4/upgrade_2.1_to_2.4.sh | 112 ------------------ install/upgrade/2.2_to_2.4/README.md | 22 ---- .../upgrade/2.2_to_2.4/upgrade_2.2_to_2.4.sh | 106 ----------------- install/upgrade/2.3_to_2.4/README.md | 22 ---- install/upgrade/README.md | 24 ++++ ...pgrade_2.3_to_2.4.sh => upgrade_to_2.4.sh} | 21 ++-- 8 files changed, 37 insertions(+), 302 deletions(-) delete mode 100644 install/upgrade/2.1_to_2.4/README.md delete mode 100755 install/upgrade/2.1_to_2.4/upgrade_2.1_to_2.4.sh delete mode 100644 install/upgrade/2.2_to_2.4/README.md delete mode 100755 install/upgrade/2.2_to_2.4/upgrade_2.2_to_2.4.sh delete mode 100644 install/upgrade/2.3_to_2.4/README.md create mode 100644 install/upgrade/README.md rename install/upgrade/{2.3_to_2.4/upgrade_2.3_to_2.4.sh => upgrade_to_2.4.sh} (82%) diff --git a/create_server_dist.sh b/create_server_dist.sh index 9be49bc6..cc757833 100755 --- a/create_server_dist.sh +++ b/create_server_dist.sh @@ -19,7 +19,7 @@ print 'Removing previous distribution directory...' rm -rf ${DIST} print 'Creating new CWS distribution directory...' -mkdir -p ${CWS}/{bpmn,config/templates,installer,logs,upgrade/2.1_to_2.4,upgrade/2.2_to_2.4,upgrade/2.3_to_2.4,sql/cws} +mkdir -p ${CWS}/{bpmn,config/templates,installer,logs,upgrade,sql/cws} print 'Unzipping Camunda into distribution...' unzip ${INSTALL_DIR}/cws_camunda-bpm-tomcat-${CAMUNDA_VER}.zip -x start-camunda.bat start-camunda.sh -d ${CWS} > ${CWS}/logs/camunda_extract.log 2>&1 @@ -220,12 +220,8 @@ print 'Copying Modeller scripts and libraries...' cp -R ${INSTALL_DIR}/modeler ${CWS} print 'Copying Upgrade scripts...' -cp -R ${INSTALL_DIR}/upgrade/2.1_to_2.4/upgrade_2.1_to_2.4.sh ${CWS}/upgrade/2.1_to_2.4 -cp -R ${INSTALL_DIR}/upgrade/2.1_to_2.4/README.md ${CWS}/upgrade/2.1_to_2.4 -cp -R ${INSTALL_DIR}/upgrade/2.2_to_2.4/upgrade_2.2_to_2.4.sh ${CWS}/upgrade/2.2_to_2.4 -cp -R ${INSTALL_DIR}/upgrade/2.2_to_2.4/README.md ${CWS}/upgrade/2.2_to_2.4 -cp -R ${INSTALL_DIR}/upgrade/2.3_to_2.4/upgrade_2.3_to_2.4.sh ${CWS}/upgrade/2.3_to_2.4 -cp -R ${INSTALL_DIR}/upgrade/2.3_to_2.4/README.md ${CWS}/upgrade/2.3_to_2.4 +cp -R ${INSTALL_DIR}/upgrade/upgrade_to_2.4.sh ${CWS}/upgrade +cp -R ${INSTALL_DIR}/upgrade/README.md ${CWS}/upgrade print 'Installing context.xml to Tomcat...' cp ${INSTALL_DIR}/context.xml ${CWS_TOMCAT_ROOT}/conf/context.xml diff --git a/install/upgrade/2.1_to_2.4/README.md b/install/upgrade/2.1_to_2.4/README.md deleted file mode 100644 index c36917eb..00000000 --- a/install/upgrade/2.1_to_2.4/README.md +++ /dev/null @@ -1,22 +0,0 @@ -# CWS v2.4 Database Upgrade - -#### _WARNING: Make sure to use the CWS Version 2.4 installation after using this script for the relevant Database_ - -This script helps to prepare an existing CWS v2.1 database to be used for a new CWS v2.4 installation by updating its schema to match that of CWS v2.4 core. This method of upgrading the CWS database gives the user the option of preserving data and migrating to a newer CWS installation without blowing up the entire database. - -### Actions: - -* *CWS v2.4* : - * Alter database table *cws_worker* to add new column `max_num_running_procs` - * Remove existing worker rows from tables `cws_worker` and `cws_worker_proc_def` - -To run the commands: - - -``` -cd install/upgrade/2.1_to_2.4/ -``` - -``` -./upgrade_2.1_to_2.4.sh -``` \ No newline at end of file diff --git a/install/upgrade/2.1_to_2.4/upgrade_2.1_to_2.4.sh b/install/upgrade/2.1_to_2.4/upgrade_2.1_to_2.4.sh deleted file mode 100755 index 995318dc..00000000 --- a/install/upgrade/2.1_to_2.4/upgrade_2.1_to_2.4.sh +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/bash -# ------------------- -# upgrade_2.1_to_2.4.sh -# ------------------- -# Upgrade CWS v2.1 infrastructure/database to CWS v2.4 -ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -read -p "Would you like to upgrade the CWS Database from CWS v2.1 to CWS v2.4? (Y/N): " UPGRADE_DB -while [[ ! ${UPGRADE_DB} =~ $(echo "^(y|Y|n|N)$") ]]; do - echo " ERROR: Must specify either 'Y' or 'N'."; - read -p "Continue? (Y/N): " UPGRADE_DB -done - -if [[ ${UPGRADE_DB} =~ $(echo "^(y|Y)$") ]] -then - echo " " - echo "[Enter Your Database Configuration]" - read -p 'DB Host: ' DB_HOST - read -p 'DB Name: ' DB_NAME - read -p 'DB Port: ' DB_PORT - read -p 'DB Username: ' DB_USERNAME - read -sp 'DB Password: ' DB_PASSWORD - echo " " - echo " " - echo "Your database Configuration is:" - echo " DB HOST: ${DB_HOST}" - echo " DB NAME: ${DB_NAME}" - echo " DB PORT: ${DB_PORT}" - echo " DB USERNAME: ${DB_USERNAME}" - echo " DB PASSWORD: [PASSWORD]" - echo " " - - while [[ ! ${CREDS_DB} =~ $(echo "^(y|Y|n|N)$") ]]; do - read -p "Do you want to continue with the database upgrade? (specify either 'Y' or 'N'): " CREDS_DB - done -fi - -if [[ ${CREDS_DB} =~ $(echo "^(y|Y)$") ]] -then - echo " " - echo "[mysql]" > ${ROOT}/myupgrade.cnf - echo "host=${DB_HOST}" >> ${ROOT}/myupgrade.cnf - echo "user=\"${DB_USERNAME}\"" >> ${ROOT}/myupgrade.cnf - echo "password=\"${DB_PASSWORD}\"" >> ${ROOT}/myupgrade.cnf - echo "port=\"${DB_PORT}\"" >> ${ROOT}/myupgrade.cnf - chmod 644 ${ROOT}/myupgrade.cnf - - echo "Checking number of CORES on machine..." - - if [[ "$OSTYPE" =~ ^darwin ]]; then - CORE_NUMBER=`sysctl -n hw.ncpu` - echo " CORE: " ${CORE_NUMBER} - fi - if [[ "$OSTYPE" =~ ^linux ]]; then - CORE_NUMBER_=`lscpu -b -p=Core,Socket | grep -v '^#' | sort -u | wc -l` - echo " CORE: " ${CORE_NUMBER} - fi - - echo "Checking whether database ${DB_NAME} already exists..." - RES=`mysql --defaults-file=${ROOT}/myupgrade.cnf -e "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '${DB_NAME}'"` - - if [[ $? -gt 0 ]]; then - echo "ERROR: Problem checking for database. " - echo " Please check your database configuration, and try again." - rm -f ${ROOT}/myupgrade.cnf - rm -rf ${ROOT}/upgrade_core_db.sql - exit 1 - fi - - FOUND=`echo $RES | grep ${DB_NAME} | wc -l` - - if [[ ${FOUND} -eq 1 ]]; then - echo " Database ${DB_NAME} exists." - echo " " - echo "Updating tables in CWS CORE DB..." - - #echo -e "DELETE FROM cws_worker_proc_def WHERE worker_id=(SELECT id FROM cws_worker WHERE name='worker0000');\nDELETE FROM cws_worker WHERE name='worker0000';\nDELETE FROM cws_worker_proc_def;\nDELETE FROM cws_worker;\nALTER TABLE cws_worker ADD max_num_running_procs int(11) DEFAULT ${CORE_NUMBER} AFTER job_executor_max_pool_size;" >> ${ROOT}/upgrade_core_db.sql - - - - cat > ${ROOT}/upgrade_core_db.sql <<- EOF - DELETE FROM cws_log_usage WHERE worker_id=(SELECT id FROM cws_worker WHERE name='worker0000'); - DELETE FROM cws_worker_proc_def WHERE worker_id=(SELECT id FROM cws_worker WHERE name='worker0000'); - DELETE FROM cws_worker WHERE name='worker0000'; - DELETE FROM cws_log_usage; - DELETE FROM cws_worker_proc_def; - DELETE FROM cws_worker; - ALTER TABLE cws_worker ADD max_num_running_procs int(11) DEFAULT ${CORE_NUMBER} AFTER job_executor_max_pool_size; -EOF - - mysql --defaults-file=${ROOT}/myupgrade.cnf ${DB_NAME} < ${ROOT}/upgrade_core_db.sql - - if [[ $? -gt 0 ]]; then - echo "ERROR: Problem updating tables. Database Column may already exist." - echo " Please check your database upgrade sql template '${ROOT}/upgrade_core_db.sql', and try again." - cat ${ROOT}/upgrade_core_db.sql - cat ${ROOT}/myupgrade.cnf - rm -rf ${ROOT}/myupgrade.cnf - rm -rf ${ROOT}/upgrade_core_db.sql - exit 1 - fi - rm -rf ${ROOT}/myupgrade.cnf - rm -rf ${ROOT}/upgrade_core_db.sql - echo " Upgrade to CWS Database was made." - else - echo " Database ${DB_NAME} DOES NOT exists. Please check your database configuration" - fi -else - echo " Upgrade to CWS Database was NOT made." - rm -rf ${ROOT}/myupgrade.cnf - rm -rf ${ROOT}/upgrade_core_db.sql -fi diff --git a/install/upgrade/2.2_to_2.4/README.md b/install/upgrade/2.2_to_2.4/README.md deleted file mode 100644 index 78700f9b..00000000 --- a/install/upgrade/2.2_to_2.4/README.md +++ /dev/null @@ -1,22 +0,0 @@ -# CWS v2.4 Database Upgrade - -#### _WARNING: Make sure to use the CWS Version 2.4 installation after using this script for the relevant Database_ - -This script helps to prepare an existing CWS v2.2 database to be used for a new CWS v2.4 installation by updating its schema to match that of CWS v2.4 core. This method of upgrading the CWS database gives the user the option of preserving data and migrating to a newer CWS installation without blowing up the entire database. - -### Actions: - -* *CWS v2.4* : - * Alter database table *cws_worker* to add new column `max_num_running_procs` - * Remove existing worker rows from tables `cws_worker` and `cws_worker_proc_def` - -To run the commands: - - -``` -cd install/upgrade/2.2_to_2.4/ -``` - -``` -./upgrade_2.2_to_2.4.sh -``` \ No newline at end of file diff --git a/install/upgrade/2.2_to_2.4/upgrade_2.2_to_2.4.sh b/install/upgrade/2.2_to_2.4/upgrade_2.2_to_2.4.sh deleted file mode 100755 index 56c91f92..00000000 --- a/install/upgrade/2.2_to_2.4/upgrade_2.2_to_2.4.sh +++ /dev/null @@ -1,106 +0,0 @@ -#!/bin/bash -# ------------------- -# upgrade_2.2_to_2.4.sh -# ------------------- -# Upgrade CWS v2.2 infrastructure/database to CWS v2.4 -ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -read -p "Would you like to upgrade the CWS Database from CWS v2.2 to CWS v2.4? (Y/N): " UPGRADE_DB -while [[ ! ${UPGRADE_DB} =~ $(echo "^(y|Y|n|N)$") ]]; do - echo " ERROR: Must specify either 'Y' or 'N'."; - read -p "Continue? (Y/N): " UPGRADE_DB -done - -if [[ ${UPGRADE_DB} =~ $(echo "^(y|Y)$") ]] -then - echo " " - echo "[Enter Your Database Configuration]" - read -p 'DB Host: ' DB_HOST - read -p 'DB Name: ' DB_NAME - read -p 'DB Port: ' DB_PORT - read -p 'DB Username: ' DB_USERNAME - read -sp 'DB Password: ' DB_PASSWORD - echo " " - echo " " - echo "Your database Configuration is:" - echo " DB HOST: ${DB_HOST}" - echo " DB NAME: ${DB_NAME}" - echo " DB PORT: ${DB_PORT}" - echo " DB USERNAME: ${DB_USERNAME}" - echo " DB PASSWORD: [PASSWORD]" - echo " " - - while [[ ! ${CREDS_DB} =~ $(echo "^(y|Y|n|N)$") ]]; do - read -p "Do you want to continue with the database upgrade? (specify either 'Y' or 'N'): " CREDS_DB - done -fi - -if [[ ${CREDS_DB} =~ $(echo "^(y|Y)$") ]] -then - echo " " - echo "[mysql]" > ${ROOT}/myupgrade.cnf - echo "host=${DB_HOST}" >> ${ROOT}/myupgrade.cnf - echo "user=\"${DB_USERNAME}\"" >> ${ROOT}/myupgrade.cnf - echo "password=\"${DB_PASSWORD}\"" >> ${ROOT}/myupgrade.cnf - echo "port=\"${DB_PORT}\"" >> ${ROOT}/myupgrade.cnf - chmod 644 ${ROOT}/myupgrade.cnf - - echo "Checking number of CORES on machine..." - - if [[ "$OSTYPE" =~ ^darwin ]]; then - CORE_NUMBER=`sysctl -n hw.ncpu` - echo " CORE: " ${CORE_NUMBER} - fi - if [[ "$OSTYPE" =~ ^linux ]]; then - CORE_NUMBER_=`lscpu -b -p=Core,Socket | grep -v '^#' | sort -u | wc -l` - echo " CORE: " ${CORE_NUMBER} - fi - - echo "Checking whether database ${DB_NAME} already exists..." - RES=`mysql --defaults-file=${ROOT}/myupgrade.cnf -e "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '${DB_NAME}'"` - - if [[ $? -gt 0 ]]; then - echo "ERROR: Problem checking for database. " - echo " Please check your database configuration, and try again." - rm -f ${ROOT}/myupgrade.cnf - rm -rf ${ROOT}/upgrade_core_db.sql - exit 1 - fi - - FOUND=`echo $RES | grep ${DB_NAME} | wc -l` - - if [[ ${FOUND} -eq 1 ]]; then - echo " Database ${DB_NAME} exists." - echo " " - echo "Updating tables in CWS CORE DB..." - -cat > ${ROOT}/upgrade_core_db.sql <<- EOF -DELETE FROM cws_log_usage WHERE worker_id=(SELECT id FROM cws_worker WHERE name='worker0000'); -DELETE FROM cws_worker_proc_def WHERE worker_id=(SELECT id FROM cws_worker WHERE name='worker0000'); -DELETE FROM cws_worker WHERE name='worker0000'; -DELETE FROM cws_log_usage; -DELETE FROM cws_worker_proc_def; -DELETE FROM cws_worker; -ALTER TABLE cws_worker ADD max_num_running_procs int(11) DEFAULT ${CORE_NUMBER} AFTER job_executor_max_pool_size; -EOF - - mysql --defaults-file=${ROOT}/myupgrade.cnf ${DB_NAME} < ${ROOT}/upgrade_core_db.sql - - if [[ $? -gt 0 ]]; then - echo "ERROR: Problem updating tables. Database Column may already exist." - echo " Please check your database upgrade sql template '${ROOT}/upgrade_core_db.sql', and try again." - rm -rf ${ROOT}/myupgrade.cnf - rm -rf ${ROOT}/upgrade_core_db.sql - exit 1 - fi - rm -rf ${ROOT}/myupgrade.cnf - rm -rf ${ROOT}/upgrade_core_db.sql - echo " Upgrade to CWS Database was made." - else - echo " Database ${DB_NAME} DOES NOT exists. Please check your database configuration" - fi -else - echo " Upgrade to CWS Database was NOT made." - rm -rf ${ROOT}/myupgrade.cnf - rm -rf ${ROOT}/upgrade_core_db.sql -fi diff --git a/install/upgrade/2.3_to_2.4/README.md b/install/upgrade/2.3_to_2.4/README.md deleted file mode 100644 index 7d19b3f2..00000000 --- a/install/upgrade/2.3_to_2.4/README.md +++ /dev/null @@ -1,22 +0,0 @@ -# CWS v2.4 Database Upgrade - -#### _WARNING: Make sure to use the CWS Version 2.4 installation after using this script for the relevant Database_ - -This script helps to prepare an existing CWS v2.3 database to be used for a new CWS v2.4 installation by updating its schema to match that of CWS v2.4 core. This method of upgrading the CWS database gives the user the option of preserving data and migrating to a newer CWS installation without blowing up the entire database. - -### Actions: - -* *CWS v2.4* : - * Alter database table *cws_worker* to add new column `max_num_running_procs` - * Remove existing worker rows from tables `cws_worker` and `cws_worker_proc_def` - -To run the commands: - - -``` -cd install/upgrade/2.3_to_2.4/ -``` - -``` -./upgrade_2.3_to_2.4.sh -``` \ No newline at end of file diff --git a/install/upgrade/README.md b/install/upgrade/README.md new file mode 100644 index 00000000..8adf341c --- /dev/null +++ b/install/upgrade/README.md @@ -0,0 +1,24 @@ +# CWS v2.4 Database Upgrade + +### Use this script before installing CWS v2.4 to update your database schema. + +#### _NOTICE: Once you've used this upgrade script, preserve your existing data by answering 'No' to the cws installation prompted: Do you want this script to drop and re-create the database for you, so that you have a clean install?_ + +This upgrade helps to prepare the database of older CWS versions, previous to v2.4, to be used for new installations of CWS v2.4. The script updates the existing database schema to match CWS v2.4 core. This gives the user the option of preserving data and migrating to CWS v2.4 without blowing up the database. + +### Update Actions: + +* *Script updates to database* : + * Alter database table *cws_worker* to add new column `max_num_running_procs` + * Remove existing worker data from tables `cws_worker`, `cws_worker_proc_def`, `cws_log_usage` + +To run the commands: + + +``` +cd install/upgrade/ +``` + +``` +./upgrade_to_2.4.sh +``` \ No newline at end of file diff --git a/install/upgrade/2.3_to_2.4/upgrade_2.3_to_2.4.sh b/install/upgrade/upgrade_to_2.4.sh similarity index 82% rename from install/upgrade/2.3_to_2.4/upgrade_2.3_to_2.4.sh rename to install/upgrade/upgrade_to_2.4.sh index 843ea33c..3a97a532 100755 --- a/install/upgrade/2.3_to_2.4/upgrade_2.3_to_2.4.sh +++ b/install/upgrade/upgrade_to_2.4.sh @@ -1,11 +1,11 @@ #!/bin/bash # ------------------- -# upgrade_2.3_to_2.4.sh +# upgrade_to_2.4.sh # ------------------- -# Upgrade CWS v2.3 infrastructure/database to CWS v2.4 +# Update previous version of CWS database schema to CWS v2.4 core schema ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -read -p "Would you like to upgrade the CWS Database from CWS v2.3 to CWS v2.4? (Y/N): " UPGRADE_DB +read -p "Would you like to upgrade the CWS database schema to CWS v2.4? (Y/N): " UPGRADE_DB while [[ ! ${UPGRADE_DB} =~ $(echo "^(y|Y|n|N)$") ]]; do echo " ERROR: Must specify either 'Y' or 'N'."; read -p "Continue? (Y/N): " UPGRADE_DB @@ -74,14 +74,11 @@ then echo " " echo "Updating tables in CWS CORE DB..." -cat > ${ROOT}/upgrade_core_db.sql <<- EOF -DELETE FROM cws_log_usage WHERE worker_id=(SELECT id FROM cws_worker WHERE name='worker0000'); -DELETE FROM cws_worker_proc_def WHERE worker_id=(SELECT id FROM cws_worker WHERE name='worker0000'); -DELETE FROM cws_worker WHERE name='worker0000'; -DELETE FROM cws_log_usage; -DELETE FROM cws_worker_proc_def; -DELETE FROM cws_worker; -ALTER TABLE cws_worker ADD max_num_running_procs int(11) DEFAULT ${CORE_NUMBER} AFTER job_executor_max_pool_size; + cat > ${ROOT}/upgrade_core_db.sql <<- EOF + DELETE FROM cws_log_usage; + DELETE FROM cws_worker_proc_def; + DELETE FROM cws_worker; + ALTER TABLE cws_worker ADD max_num_running_procs int(11) DEFAULT ${CORE_NUMBER} AFTER job_executor_max_pool_size; EOF mysql --defaults-file=${ROOT}/myupgrade.cnf ${DB_NAME} < ${ROOT}/upgrade_core_db.sql @@ -89,6 +86,8 @@ EOF if [[ $? -gt 0 ]]; then echo "ERROR: Problem updating tables. Database Column may already exist." echo " Please check your database upgrade sql template '${ROOT}/upgrade_core_db.sql', and try again." + cat ${ROOT}/upgrade_core_db.sql + cat ${ROOT}/myupgrade.cnf rm -rf ${ROOT}/myupgrade.cnf rm -rf ${ROOT}/upgrade_core_db.sql exit 1