diff options
author | waqas.ikram <waqas.ikram@est.tech> | 2019-07-22 13:56:13 +0000 |
---|---|---|
committer | waqas.ikram <waqas.ikram@est.tech> | 2019-07-22 13:56:13 +0000 |
commit | 5fee4488f065cce0f9a6bc6bc68f48a1d3b643f0 (patch) | |
tree | 9895c1ca16de2bc8785792918281fedc4d604727 /plans/so/integration-etsi-testing/config/apply-workarounds.sh | |
parent | bfdec07ceb31eb61084dd611846c4e31eed2fb17 (diff) |
Adding time out handling in setup.sh script
Change-Id: I410d597da6a1fe15d4b02794f56b3507563978c8
Issue-ID: SO-1955
Signed-off-by: waqas.ikram <waqas.ikram@est.tech>
Diffstat (limited to 'plans/so/integration-etsi-testing/config/apply-workarounds.sh')
-rwxr-xr-x | plans/so/integration-etsi-testing/config/apply-workarounds.sh | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/plans/so/integration-etsi-testing/config/apply-workarounds.sh b/plans/so/integration-etsi-testing/config/apply-workarounds.sh index ff167bf7..4200a361 100755 --- a/plans/so/integration-etsi-testing/config/apply-workarounds.sh +++ b/plans/so/integration-etsi-testing/config/apply-workarounds.sh @@ -29,6 +29,7 @@ BUILDING_BLOCK_COUNT_QUERY="select count(*) from $BUIDLING_BLOCK_TABLE_NAME;" FLY_WAY_MIGRATION_QUERY="SELECT COUNT(*) FROM flyway_schema_history WHERE script LIKE '%R__MacroData%' AND installed_on IS NOT NULL;" SLEEP_TIME=5 TIME_OUT_DEFAULT_VALUE_SEC=1200 #20 mins +SCRIPT_NAME=$(basename $0) current_timestamp() { @@ -37,53 +38,53 @@ current_timestamp() wait_for_database_availability() { - echo "$(current_timestamp): Checking for database availability" + echo "$SCRIPT_NAME $(current_timestamp): Checking for database availability" until echo '\q' | mysql -h $DB_HOST -P $DB_PORT -uroot -p$MYSQL_ROOT_PASSWORD $CATALOG_DB; do - >&2 echo "$(current_timestamp): Database is unavailable - sleeping for ${SLEEP_TIME} seconds" + >&2 echo "$SCRIPT_NAME $(current_timestamp): Database is unavailable - sleeping for ${SLEEP_TIME} seconds" isTimeOut sleep ${SLEEP_TIME} done - echo "$(current_timestamp): Database is available now" + echo "$SCRIPT_NAME $(current_timestamp): Database is available now" } wait_container_to_create_table() { while [ $(mysql -h $DB_HOST -P $DB_PORT -uroot -p$MYSQL_ROOT_PASSWORD $CATALOG_DB -sse "$TABLE_EXISTS_QUERY") -eq "0" ] ; do - echo "$(current_timestamp): Waiting for so-catalog container to create tables - sleeping for ${SLEEP_TIME} seconds" + echo "$SCRIPT_NAME $(current_timestamp): Waiting for so-catalog container to create tables - sleeping for ${SLEEP_TIME} seconds" isTimeOut sleep ${SLEEP_TIME} done while [ $(mysql -h $DB_HOST -P $DB_PORT -uroot -p$MYSQL_ROOT_PASSWORD $CATALOG_DB -sse "$BUILDING_BLOCK_COUNT_QUERY") -eq "0" ] ; do - echo "$(current_timestamp): Waiting for so-catalog container to insert records in $BUIDLING_BLOCK_TABLE_NAME - sleeping for ${SLEEP_TIME} seconds" + echo "$SCRIPT_NAME $(current_timestamp): Waiting for so-catalog container to insert records in $BUIDLING_BLOCK_TABLE_NAME - sleeping for ${SLEEP_TIME} seconds" isTimeOut sleep ${SLEEP_TIME} done - echo "$(current_timestamp): $CATALOG_DB tables available now . . ." + echo "$SCRIPT_NAME $(current_timestamp): $CATALOG_DB tables available now . . ." } wait_for_flyway_migration_to_finish() { while [ $(mysql -h $DB_HOST -P $DB_PORT -uroot -p$MYSQL_ROOT_PASSWORD $CATALOG_DB -sse "$FLY_WAY_MIGRATION_QUERY") -ne "1" ] ; do - echo "$(current_timestamp): Waiting for flyway migration sql statement to finish with success - sleeping for ${SLEEP_TIME} seconds" + echo "$SCRIPT_NAME $(current_timestamp): Waiting for flyway migration sql statement to finish with success - sleeping for ${SLEEP_TIME} seconds" isTimeOut sleep ${SLEEP_TIME} done - echo "$(current_timestamp): flyway migration finished . . . " + echo "$SCRIPT_NAME $(current_timestamp): flyway migration finished . . . " } apply_workaround() { - echo "$(current_timestamp): Applying workaround . . ." + echo "$SCRIPT_NAME $(current_timestamp): Applying workaround . . ." wait_for_database_availability wait_container_to_create_table wait_for_flyway_migration_to_finish - echo "$(current_timestamp): Will insert data into $CATALOG_DB" + echo "$SCRIPT_NAME $(current_timestamp): Will insert data into $CATALOG_DB" mysql -h $DB_HOST -uroot -p$MYSQL_ROOT_PASSWORD $CATALOG_DB << EOF BEGIN; INSERT INTO $BUIDLING_BLOCK_TABLE_NAME (BUILDING_BLOCK_NAME,RESOURCE_TYPE,TARGET_ACTION) values ("EtsiVnfInstantiateBB", "VNF", "ACTIVATE"); @@ -109,36 +110,36 @@ mysql -h $DB_HOST -uroot -p$MYSQL_ROOT_PASSWORD $CATALOG_DB << EOF EOF if [ $? -ne 0 ]; then - echo "$(current_timestamp): Failed to execute workaround . . ." + echo "$SCRIPT_NAME $(current_timestamp): Failed to execute workaround . . ." exit 1 fi - echo "$(current_timestamp): Finished applying workaround . . ." + echo "$SCRIPT_NAME $(current_timestamp): Finished applying workaround . . ." } isTimeOut() { - if [ `date +%s` -gt $TIME_OUT_END_TIME_IN_MS ]; then - echo "$(current_timestamp): workaround script timed out . . ." + if [ `date +%s` -gt $TIME_OUT_END_TIME_IN_SECONDS ]; then + echo "$SCRIPT_NAME $(current_timestamp): workaround script timed out . . ." exit 1; fi } # main body if [ -z "$TIME_OUT_IN_SECONDS"]; then - echo "$(current_timestamp): TIME_OUT_IN_SECONDS attribute is empty will use default val: $TIME_OUT_DEFAULT_VALUE_SEC" + echo "$SCRIPT_NAME $(current_timestamp): TIME_OUT_IN_SECONDS attribute is empty will use default val: $TIME_OUT_DEFAULT_VALUE_SEC" TIME_OUT_IN_SECONDS=$TIME_OUT_DEFAULT_VALUE_SEC fi DIGITS_REGEX='^[0-9]+$' if ! [[ $TIME_OUT_IN_SECONDS =~ $DIGIT_REGEX ]] ; then - echo "$(current_timestamp): TIME_OUT_IN_SECONDS attribute Must be number: $TIME_OUT_IN_SECONDS, will use default val: $TIME_OUT_DEFAULT_VALUE_SEC" + echo "$SCRIPT_NAME $(current_timestamp): TIME_OUT_IN_SECONDS attribute Must be number: $TIME_OUT_IN_SECONDS, will use default val: $TIME_OUT_DEFAULT_VALUE_SEC" TIME_OUT_IN_SECONDS=$TIME_OUT_DEFAULT_VALUE_SEC fi -START_TIME_IN_MS=`date +%s` -TIME_OUT_END_TIME_IN_MS=$(($START_TIME_IN_MS+$TIME_OUT_IN_SECONDS)); -echo "$(current_timestamp): Workaround script will time out at `date -d @$TIME_OUT_END_TIME_IN_MS`" +START_TIME_IN_SECONDS=`date +%s` +TIME_OUT_END_TIME_IN_SECONDS=$(($START_TIME_IN_SECONDS+$TIME_OUT_IN_SECONDS)); +echo "$SCRIPT_NAME $(current_timestamp): Workaround script will time out at `date -d @$TIME_OUT_END_TIME_IN_SECONDS`" apply_workaround |