2015-08-27 17:55:22 -07:00
#!/bin/bash
function bootstrap_db {
mysqld_safe --wsrep-new-cluster &
2015-12-08 02:23:58 -08:00
# Wait for the mariadb server to be "Ready" before starting the security reset with a max timeout
TIMEOUT = ${ DB_MAX_TIMEOUT :- 60 }
2016-01-25 16:04:26 +00:00
while [ [ ! -f /var/lib/mysql/mariadb.pid ] ] ; do
2015-12-08 02:23:58 -08:00
if [ [ ${ TIMEOUT } -gt 0 ] ] ; then
let TIMEOUT-= 1
sleep 1
else
exit 1
fi
done
2015-11-10 04:11:20 -05:00
sudo -E kolla_security_reset
2015-08-27 17:55:22 -07:00
mysql -u root --password= " ${ DB_ROOT_PASSWORD } " -e " GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY ' ${ DB_ROOT_PASSWORD } ' WITH GRANT OPTION; "
mysql -u root --password= " ${ DB_ROOT_PASSWORD } " -e " GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY ' ${ DB_ROOT_PASSWORD } ' WITH GRANT OPTION; "
2015-11-10 04:11:20 -05:00
mysqladmin -uroot -p" ${ DB_ROOT_PASSWORD } " shutdown
2015-08-27 17:55:22 -07:00
}
2016-01-25 16:04:26 +00:00
# Only update permissions if permissions need to be updated
if [ [ $( stat -c %U:%G /var/lib/mysql) != "mysql:mysql" ] ] ; then
sudo chown mysql: /var/lib/mysql
fi
2015-09-30 11:23:39 +00:00
2016-02-03 16:55:45 +01:00
# Create log directory, with appropriate permissions
if [ [ ! -d "/var/log/kolla/mariadb" ] ] ; then
mkdir -p /var/log/kolla/mariadb
fi
if [ [ $( stat -c %a /var/log/kolla/mariadb) != "755" ] ] ; then
chmod 755 /var/log/kolla/mariadb
fi
2015-09-30 11:23:39 +00:00
# This catches all cases of the BOOTSTRAP variable being set, including empty
2016-03-19 13:58:19 +00:00
if [ [ " ${ !KOLLA_BOOTSTRAP[@] } " ] ] ; then
2015-11-10 04:11:20 -05:00
mysql_install_db
2015-09-30 11:23:39 +00:00
bootstrap_db
2016-03-19 13:58:19 +00:00
exit 0
fi
if [ [ " ${ !BOOTSTRAP_ARGS[@] } " ] ] ; then
ARGS = " ${ BOOTSTRAP_ARGS } "
2015-09-30 11:23:39 +00:00
fi