#!/bin/bash #mount s3 set -euo pipefail set -o errexit set -o errtrace IFS=$'\n\t' export S3_ACL=${S3_ACL:-private} if [ "$USE_S3_VOLUME" == "true" ]; then test $MOUNT_POINT rm -rf ${MOUNT_POINT} mkdir -p ${MOUNT_POINT} if [ "$S3_ENDPOINT" != "" ]; then echo "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" > /usr/local/s3cred chmod 400 /usr/local/s3cred /usr/bin/s3fs ${S3_BUCKET_NAME} ${MOUNT_POINT} -o passwd_file=/usr/local/s3cred,use_path_request_style,url=${S3_ENDPOINT} else if [ "$IAM_ROLE" == "none" ]; then export AWSACCESSKEYID=${AWSACCESSKEYID:-$AWS_ACCESS_KEY_ID} export AWSSECRETACCESSKEY=${AWSSECRETACCESSKEY:-$AWS_SECRET_ACCESS_KEY} echo 'IAM_ROLE is not set - mounting S3 with credentials from ENV' /usr/bin/s3fs ${S3_BUCKET_NAME} ${MOUNT_POINT} -o nosuid,nonempty,nodev,allow_other,default_acl=${S3_ACL},retries=5 else echo 'IAM_ROLE is set - using it to mount S3' /usr/bin/s3fs ${S3_BUCKET_NAME} ${MOUNT_POINT} -o iam_role=${IAM_ROLE},nosuid,nonempty,nodev,allow_other,default_acl=${S3_ACL},retries=5 fi fi fi #mk mimir data dir if it doesn't exist mkdir -p /usr/local/source/web-api/.vizierdb/mimir mkdir -p /usr/local/source/web-api/.vizierdb/logs #update mimir from repo if [ $PULL_MIMIR == "true" ] then (cd /usr/local/source/mimir; git pull; rm -r /root/.m2/repository/info/mimirdb/mimir-core_2.11/0.2/; /usr/local/source/sbt/bin/sbt publish;) fi #restore data from some other s3 backup if [ $RESTORE_BACKUP == "true" ] && [ ! -f /usr/local/source/.restoreComplete ] then cd /usr/local/source/mimir /usr/local/source/sbt/bin/sbt "runBackup --restore --dataStagingType s3 --overwriteJars -X LOG LOGM remoteSpark" touch /usr/local/source/.restoreComplete fi if [ $NEW_MIMIR_DB_FROM_S3 == "true" ] && [ ! -f /usr/local/source/mimir/debug.db ] && [ -f /usr/local/source/web-api/.vizierdb/mimir/debug.db ] then #cp /usr/local/source/mimir/debug.db /usr/local/source/web-api/.vizierdb/mimir/ cp /usr/local/source/web-api/.vizierdb/mimir/debug.db /usr/local/source/mimir/debug.db fi if [ $NEW_HIVE_METASTORE_FROM_S3 == "true" ] && [ ! -d /usr/local/source/mimir/metastore_db ] && [ -f /usr/local/source/web-api/.vizierdb/mimir/metastore_db.tar ] then #tar -C /usr/local/source/mimir -cf metastore_db.tar /usr/local/source/mimir/metastore_db #cp metastore_db.tar /usr/local/source/web-api/.vizierdb/mimir/ cp /usr/local/source/web-api/.vizierdb/mimir/metastore_db.tar /usr/local/source/mimir/metastore_db.tar cd /usr/local/source/mimir tar -xf metastore_db.tar rm metastore_db.tar fi