Atom feed of this document
  
 

 Configure the database with dbconfig-common

The dbconfig-common package provides a standard Debian interface that enables you to configure Debian database parameters. It includes localized prompts for many languages and it supports the OpenStack database back ends: SQLite, MySQL, and PostgreSQL.

By default, the dbconfig-common package configures the OpenStack services to use SQLite3. So if you use debconf in non-interactive mode and without pre-seeding, the OpenStack services that you install use SQLite3.

By default, dbconfig-common does not provide access to database servers over a network. If you want the dbconfig-common package to prompt for remote database servers that are accessed over a network and not through a UNIX socket file, reconfigure it, as follows:

# apt-get install dbconfig-common && dpkg-reconfigure dbconfig-common

These screens appear when you re-configure the dbconfig-common package:

Unlike other debconf prompts, you cannot pre-seed the responses for the dbconfig-common prompts by using debconf-set-selections. Instead, you must create a file in /etc/dbconfig-common. For example, you might create a keystone configuration file for dbconfig-common that is located in /etc/dbconfig-common/keystone.conf, as follows:

dbc_install='true'
dbc_upgrade='true'
dbc_remove=''
dbc_dbtype='mysql'
dbc_dbuser='keystone'
dbc_dbpass='MyKeyStoneDbPassWord'
dbc_dbserver=''
dbc_dbport=''
dbc_dbname='keystonedb'
dbc_dbadmin='root'
dbc_basepath=''
dbc_ssl=''
dbc_authmethod_admin=''
dbc_authmethod_user=''

After you create this file, run this command:

# apt-get install keystone

The Identity Service is installed with MySQL as the database back end, keystonedb as database name, and the localhost socket file.

The cinder-common package displays these screens:

To access a MySQL server remotely, you must make it accessible as root from a remote server. To do so, run the openstack-proxy-node package command:

# /usr/share/openstack-proxy-node/mysql-remote-root

Alternatively, if you do not want to install this package, run this script to enable remote root access:

#!/bin/sh

set -e

SQL="mysql --defaults-file=/etc/mysql/debian.cnf -Dmysql -e"

ROOT_PASS=`${SQL} "SELECT Password FROM user WHERE User='root' LIMIT 1;" \
  | tail -n 1`
${SQL} "REPLACE INTO user SET host='%', user='root',\
  password='${ROOT_PASS}', Select_priv='Y', Insert_priv='Y',\
  Update_priv='Y', Delete_priv='Y', Create_priv='Y', Drop_priv='Y',\
  Reload_priv='Y', Shutdown_priv='Y', Process_priv='Y',  File_priv='Y',\
  Grant_priv='Y', References_priv='Y', Index_priv='Y', Alter_priv='Y',\
  Super_priv='Y', Show_db_priv='Y', Create_tmp_table_priv='Y',\
  Lock_tables_priv='Y', Execute_priv='Y', Repl_slave_priv='Y',\
  Repl_client_priv='Y', Create_view_priv='Y', Show_view_priv='Y',\
  Create_routine_priv='Y', Alter_routine_priv='Y', Create_user_priv='Y',\
  Event_priv='Y', Trigger_priv='Y' "
${SQL} "FLUSH PRIVILEGES"
sed -i 's|^bind-address[ \t]*=.*|bind-address = 0.0.0.0|' /etc/mysql/my.cnf
/etc/init.d/mysql restart

You must enable remote access before you install OpenStack services.

Questions? Discuss on ask.openstack.org
Found an error? Report a bug against this page

loading table of contents...