[autotest] split the db setup script from setup_dev_autotest.sh

For some situations, we only want to clean up the database rather than
setting up the whole autotest on the servers. For example, when we
remove shards from master, we just need to swipe the database to clean
all the jobs and hosts history. A lot of the functions in
setup_dev_autotest.sh are unnecessary for this purpose.

BUG=None
TEST=Test on a testing master instance. Test the following cmds:
     './setup_dev_autotest.sh -p ${PWD} -a ${AUTOTEST_DIR} -d -m -n -v'
     './setup_db.sh -p ${PWD} -a'
     './setup_db.sh -p ${PWD} -a ${AUTOTEST_DIR}'
     './setup_db.sh -p ${PWD} -a ${AUTOTEST_DIR} -c'
     './setup_db.sh -p ${PWD} -a ${AUTOTEST_DIR} -c'

Change-Id: I736c68c4bc77f22cfd1c815980e546c9cf136f71
Reviewed-on: https://chromium-review.googlesource.com/328532
Commit-Ready: Shuqian Zhao <shuqianz@chromium.org>
Tested-by: Shuqian Zhao <shuqianz@chromium.org>
Reviewed-by: Fang Deng <fdeng@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>
diff --git a/site_utils/setup_dev_autotest.sh b/site_utils/setup_dev_autotest.sh
index 709791b..59f6604 100755
--- a/site_utils/setup_dev_autotest.sh
+++ b/site_utils/setup_dev_autotest.sh
@@ -175,8 +175,8 @@
 fi
 
 echo "Installing needed Ubuntu packages..."
-PKG_LIST="mysql-server mysql-common libapache2-mod-wsgi python-mysqldb \
-gnuplot apache2-mpm-prefork unzip python-imaging libpng12-dev libfreetype6-dev \
+PKG_LIST="libapache2-mod-wsgi gnuplot apache2-mpm-prefork unzip \
+python-imaging libpng12-dev libfreetype6-dev \
 sqlite3 python-pysqlite2 git-core pbzip2 openjdk-6-jre openjdk-6-jdk \
 python-crypto  python-dev subversion build-essential python-setuptools \
 python-numpy python-scipy"
@@ -187,54 +187,6 @@
 fi
 echo -e "Done!\n"
 
-# Check if database exists, clobber existing database with user consent.
-#
-# Arguments: Name of the database
-check_database()
-{
-  local db_name=$1
-  echo "Setting up Database: $db_name in MySQL..."
-  if mysql -u root -e ';' 2> /dev/null ; then
-    PASSWD_STRING=
-  elif mysql -u root -p"${PASSWD}" -e ';' 2> /dev/null ; then
-    PASSWD_STRING="-p${PASSWD}"
-  else
-    PASSWD_STRING="-p"
-  fi
-
-  if ! mysqladmin -u root "${PASSWD_STRING}" ping ; then
-    sudo service mysql start
-  fi
-
-  local clobberdb='y'
-  local existing_database=$(mysql -u root "${PASSWD_STRING}" -e "SELECT \
-  SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '$db_name'")
-
-  if [ -n "${existing_database}" ]; then
-    get_y_or_n clobberdb "Clobber existing MySQL database? [Y/n]: " "n"
-  fi
-
-  local sql_priv="GRANT ALL PRIVILEGES ON $db_name.* TO \
-  'chromeosqa-admin'@'localhost' IDENTIFIED BY '${PASSWD}';"
-
-  if [ "${remotedb}" = "TRUE" ]; then
-    sql_priv="${sql_priv} GRANT ALL PRIVILEGES ON $db_name.* TO \
-    'chromeosqa-admin'@'%' IDENTIFIED BY '${PASSWD}';"
-  fi
-
-  local sql_command="drop database if exists $db_name; \
-  create database $db_name; \
-  ${sql_priv} FLUSH PRIVILEGES;"
-
-  if [[ "${clobberdb}" = 'y' ]]; then
-    mysql -u root "${PASSWD_STRING}" -e "${sql_command}"
-  fi
-  echo -e "Done!\n"
-}
-
-check_database 'chromeos_autotest_db'
-check_database 'chromeos_lab_servers'
-
 AT_DIR=/usr/local/autotest
 echo -n "Bind-mounting your autotest dir at ${AT_DIR}..."
 sudo mkdir -p "${AT_DIR}"
@@ -269,16 +221,17 @@
 
 echo -e "Done!\n"
 
-echo "Populating autotest mysql DB..."
-"${AT_DIR}"/database/migrate.py sync -f
-"${AT_DIR}"/frontend/manage.py syncdb --noinput
-# You may have to run this twice.
-"${AT_DIR}"/frontend/manage.py syncdb --noinput
-"${AT_DIR}"/utils/test_importer.py
-echo -e "Done!\n"
+echo "Start setting up Database..."
+get_y_or_n clobberdb "Clobber MySQL database if it exists? [Y/n]: " "n"
+opts_string="-p ${PASSWD} -a ${AT_DIR}"
+if [[ "${clobberdb}" = 'y' ]]; then
+  opts_string="${opts_string} -c"
+fi
+if [[ "${remotedb}" = 'TRUE' ]]; then
+  opts_string="${opts_string} -m"
+fi
+"${AT_DIR}"/site_utils/setup_db.sh ${opts_string}
 
-echo "Initializing chromeos_lab_servers mysql DB..."
-"${AT_DIR}"/database/migrate.py sync -f -d AUTOTEST_SERVER_DB
 echo -e "Done!\n"
 
 echo "Configuring apache to run the autotest web interface..."