diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8b5f47ad9f7..f83d084326b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -152,7 +152,7 @@ stages: #build off prd variables - export ECR_REPOSITORY_URI=${PRD_ACCOUNT_ID}.dkr.ecr.${PRD_REGION}.amazonaws.com - export APP_DOCKER_FILE=Dockerfile - - export TASK_DOCKER_FILE=Dockerfile + - export TASK_DOCKER_FILE=Dockerfile.tasks #TODO: update exp to prod - export APP_ENVIRONMENT=prd diff --git a/scripts/rds-snapshot-app-db b/scripts/rds-snapshot-app-db index 580c30776c1..ea2f0afd5c0 100755 --- a/scripts/rds-snapshot-app-db +++ b/scripts/rds-snapshot-app-db @@ -19,17 +19,35 @@ db_snapshot_identifier=$db_instance_identifier-$(date +%s) readonly db_snapshot_identifier readonly tags=("Key=Environment,Value=$environment" "Key=Tool,Value=$(basename "$0")") + echo echo "Wait for concurrent database snapshots for ${db_instance_identifier} to complete before continuing ..." -time aws rds wait db-snapshot-completed --cli-read-timeout 2100 --cli-connect-timeout 2100 --db-instance-identifier "$db_instance_identifier" +time aws rds wait db-snapshot-completed --db-instance-identifier "$db_instance_identifier" + echo echo "Create database snapshot for ${db_instance_identifier} with identifier ${db_snapshot_identifier}" -aws rds create-db-snapshot --cli-read-timeout 2100 --cli-connect-timeout 2100 --db-instance-identifier "$db_instance_identifier" --db-snapshot-identifier "$db_snapshot_identifier" --tags "${tags[@]}" + + +aws rds create-db-snapshot --db-instance-identifier "$db_instance_identifier" --db-snapshot-identifier "$db_snapshot_identifier" --tags "${tags[@]}" + +#we want to loop while status is not available; check after initiating the create +while true; do + db_description=$(aws rds describe-db-snapshots --db-snapshot-identifier "$db_snapshot_identifier") + db_status=$(echo "${db_description}" | jq -r ".DBSnapshots[].Status") + echo "${db_snapshot_identifier} -- ${db_status}" + if [[ "${db_status}" == "available" ]]; then + break + fi + sleep 15 +done + + +#unnecessary confirm but will leave in echo echo "Wait for current database snapshot ${db_snapshot_identifier} to complete before continuing ..." -time aws rds wait db-snapshot-completed --cli-read-timeout 2100 --cli-connect-timeout 2100 --db-snapshot-identifier "$db_snapshot_identifier" +time aws rds wait db-snapshot-completed --db-snapshot-identifier "$db_snapshot_identifier" echo echo "Describe the database snapshot ${db_snapshot_identifier}"