X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=docker%2Fmariadb%2Fdeploy.sh;h=df7bcc6d266ecb195dc340f03fd38829eada389d;hb=2eba847ebb6acb2686be08eb1cdafc1b12071e7d;hp=12c985c4c0a14d2393ffd2c8a79e7aaf5dd7cd74;hpb=2879b2ee5e1e2815e5f43cb802352bf2878397af;p=validation.git diff --git a/docker/mariadb/deploy.sh b/docker/mariadb/deploy.sh index 12c985c..df7bcc6 100755 --- a/docker/mariadb/deploy.sh +++ b/docker/mariadb/deploy.sh @@ -14,12 +14,14 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Directory on host in where database data will be stored -HOST_STORAGE_DIR="/var/lib/mariadb" +# Use this script if the persistent storage does not exist + +DOCKER_VOLUME_NAME="akraino-validation-mariadb" # Container name CONTAINER_NAME="akraino-validation-mariadb" # Container input variables MARIADB_ROOT_PASSWORD="" +MARIADB_AKRAINO_PASSWORD="" UI_ADMIN_PASSWORD="" UI_AKRAINO_PASSWORD="" # Image data @@ -39,6 +41,7 @@ do TAG_VER) TAG_VER=${VALUE} ;; TAG_PRE) TAG_PRE=${VALUE} ;; MARIADB_ROOT_PASSWORD) MARIADB_ROOT_PASSWORD=${VALUE} ;; + MARIADB_AKRAINO_PASSWORD) MARIADB_AKRAINO_PASSWORD=${VALUE} ;; CONTAINER_NAME) CONTAINER_NAME=${VALUE} ;; MARIADB_HOST_PORT) MARIADB_HOST_PORT=${VALUE} ;; UI_ADMIN_PASSWORD) UI_ADMIN_PASSWORD=${VALUE} ;; @@ -53,6 +56,12 @@ if [ -z "$MARIADB_ROOT_PASSWORD" ] exit 1 fi +if [ -z "$MARIADB_AKRAINO_PASSWORD" ] + then + echo "ERROR: You must specify the mariadb database akraino user password" + exit 1 +fi + if [ -z "$UI_ADMIN_PASSWORD" ] then echo "ERROR: You must specify the password of the UI admin user" @@ -66,6 +75,7 @@ if [ -z "$UI_AKRAINO_PASSWORD" ] fi IMAGE="$REGISTRY"/"$NAME":"$TAG_PRE"-"$TAG_VER" -docker run --detach --name $CONTAINER_NAME --publish $MARIADB_HOST_PORT:3306 --volume $HOST_STORAGE_DIR:/var/lib/mysql -v "/$(pwd)/mariadb.conf:/etc/mysql/conf.d/my.cnf" -e MYSQL_ROOT_PASSWORD="$MARIADB_ROOT_PASSWORD" -e UI_ADMIN_PASSWORD="$UI_ADMIN_PASSWORD" -e UI_AKRAINO_PASSWORD="$UI_AKRAINO_PASSWORD" $IMAGE +chmod 0444 "/$(pwd)/mariadb.conf" +docker run --detach --name $CONTAINER_NAME --publish $MARIADB_HOST_PORT:3306 -v $DOCKER_VOLUME_NAME:/var/lib/mysql -v "/$(pwd)/mariadb.conf:/etc/mysql/conf.d/my.cnf" -e MYSQL_ROOT_PASSWORD="$MARIADB_ROOT_PASSWORD" -e MYSQL_DATABASE="akraino" -e MYSQL_USER="akraino" -e MYSQL_PASSWORD="$MARIADB_AKRAINO_PASSWORD" -e UI_ADMIN_PASSWORD="$UI_ADMIN_PASSWORD" -e UI_AKRAINO_PASSWORD="$UI_AKRAINO_PASSWORD" $IMAGE +docker exec $CONTAINER_NAME /bin/bash -c 'sed -i 's/admin_password/'"$UI_ADMIN_PASSWORD"'/g' /docker-entrypoint-initdb.d/EcompSdkDMLMySql_2_4_OS.sql ; sed -i 's/akraino_password/'"$UI_AKRAINO_PASSWORD"'/g' /docker-entrypoint-initdb.d/EcompSdkDMLMySql_2_4_OS.sql; continue=`ps aux | grep mysql` ; while [ -z "$continue" ]; do continue=`ps aux | grep mysql`; sleep 5; done ; sleep 10 ;' sleep 10 -docker exec $CONTAINER_NAME /bin/bash -c 'sed -i 's/admin_password/'"$UI_ADMIN_PASSWORD"'/g' /docker-entrypoint-initdb.d/EcompSdkDMLMySql_2_4_OS.sql ; sed -i 's/akraino_password/'"$UI_AKRAINO_PASSWORD"'/g' /docker-entrypoint-initdb.d/akraino-blueprint_validation_db.sql; continue=`ps aux | grep mysql` ; while [ -z "$continue" ]; do continue=`ps aux | grep mysql`; sleep 5; done ; sleep 10 ;'