
Use bash options to have client scripts exit with an error if any command returns an error (errexit) or if an unset variable is used (nounset). Fix those scripts that would otherwise fail due to this change. Change-Id: I23336bcb5227e884eaf6dd6e9eb5cb0fc24977cc
51 lines
1.7 KiB
Bash
Executable File
51 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -o errexit -o nounset
|
|
TOP_DIR=$(cd $(dirname "$0")/.. && pwd)
|
|
source "$TOP_DIR/config/paths"
|
|
source "$CONFIG_DIR/credentials"
|
|
source "$LIB_DIR/functions.guest"
|
|
|
|
exec_logfile
|
|
|
|
indicate_current_auto
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# Controller setup
|
|
|
|
# Get FOURTH_OCTET for this node
|
|
source "$CONFIG_DIR/config.$(hostname)"
|
|
|
|
# Get MGMT_NET
|
|
source "$CONFIG_DIR/openstack"
|
|
|
|
DB_IP=$(get_ip_from_net_and_fourth "MGMT_NET" "$FOURTH_OCTET")
|
|
echo "Will bind MySQL server to $DB_IP."
|
|
|
|
echo "Sourced MySQL password from credentials: $DATABASE_PASSWORD"
|
|
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password password '$DATABASE_PASSWORD''
|
|
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password '$DATABASE_PASSWORD''
|
|
|
|
echo "Installing MySQL."
|
|
sudo apt-get install -y mysql-server python-mysqldb
|
|
|
|
echo "Configuring MySQL to accept requests by other nodes."
|
|
|
|
# Enable access by other nodes via the management network
|
|
iniset_sudo /etc/mysql/my.cnf mysqld bind-address "$DB_IP"
|
|
|
|
# Enable InnoDB
|
|
iniset_sudo /etc/mysql/my.cnf mysqld default-storage-engine innodb
|
|
iniset_sudo /etc/mysql/my.cnf mysqld innodb_file_per_table 1
|
|
|
|
# Enable UTF-8 character set and UTF-8 collation by default
|
|
iniset_sudo /etc/mysql/my.cnf mysqld collation-server utf8_general_ci
|
|
iniset_sudo /etc/mysql/my.cnf mysqld init-connect "'SET NAMES utf8'"
|
|
iniset_sudo /etc/mysql/my.cnf mysqld character-set-server utf8
|
|
|
|
echo "Restarting MySQL service."
|
|
sudo service mysql restart
|
|
|
|
# TODO(rluethi) do we need mysql_secure_installation?
|
|
# XXX --use-default only in MySQL 5.7.4+ (Ubuntu 12.04 LTS: MySQL 5.5)
|
|
# mysql_secure_installation --use-default
|