#!/bin/bash

# Prepare to move to a new ip

# Exit on any errors
set -e

source "/etc/openshift/node.conf"
source ${CARTRIDGE_BASE_PATH}/abstract/info/lib/util
source ${CARTRIDGE_BASE_PATH}/abstract/info/lib/apache
source ${CARTRIDGE_BASE_PATH}/abstract/info/lib/network

while getopts 'd' OPTION
do
    case $OPTION in
        d) set -x
        ;;
        ?) print_help
        ;;
    esac
done

[ $# -eq 3 ] || print_help

namespace=`basename $2`
application="$1"
uuid=$3

setup_basic_vars
cartridge_type="mysql-5.1"

CART_INFO_DIR=${CARTRIDGE_BASE_PATH}/embedded/$cartridge_type/info
source ${CART_INFO_DIR}/lib/util

MYSQL_DIR="$APP_HOME/$cartridge_type/"

#
# Create copy of variables for cartridge moves
#
mkdir -p $MYSQL_DIR/.env
cp $APP_HOME/.env/OPENSHIFT_MYSQL_DB_HOST $MYSQL_DIR/.env
cp $APP_HOME/.env/OPENSHIFT_MYSQL_DB_PORT $MYSQL_DIR/.env
cp $APP_HOME/.env/OPENSHIFT_MYSQL_DB_PASSWORD $MYSQL_DIR/.env
cp $APP_HOME/.env/OPENSHIFT_MYSQL_DB_USERNAME $MYSQL_DIR/.env

. $APP_HOME/.env/OPENSHIFT_INTERNAL_IP
IP=$OPENSHIFT_INTERNAL_IP

. $APP_HOME/.env/OPENSHIFT_MYSQL_DB_PORT
. $APP_HOME/.env/OPENSHIFT_MYSQL_DB_PASSWORD
. $APP_HOME/.env/OPENSHIFT_MYSQL_DB_USERNAME

if [ "$OPENSHIFT_MYSQL_DB_PASSWORD" = "NOT_AVAILABLE" ]
then
    error "Can not move mysql without OPENSHIFT_MYSQL_DB_PASSWORD" 188
else

start_database

    echo "
grant all on *.* to '$OPENSHIFT_MYSQL_DB_USERNAME'@'%' identified by '$OPENSHIFT_MYSQL_DB_PASSWORD' with grant option;
flush privileges;" | mysql -u $OPENSHIFT_MYSQL_DB_USERNAME -P $OPENSHIFT_MYSQL_DB_PORT -h $IP --password="$OPENSHIFT_MYSQL_DB_PASSWORD" -S "${MYSQL_DIR}/socket/mysql.sock" mysql > /dev/null || error "Failed to setup root user with wildcard ip" 187

stop_database

fi
