docker/mimir/run_init.sh
Mike b3a936ec46 Kubernetes deployment
bug fixes for kubernetes deployment
2019-01-31 16:54:35 -05:00

66 lines
2.5 KiB
Bash
Executable file

#!/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