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:
![](figures/2/figures/debconf-screenshots/dbconfig-common_keep_admin_pass.png)
![](figures/2/figures/debconf-screenshots/dbconfig-common_used_for_remote_db.png)
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:
![](figures/2/figures/debconf-screenshots/dbconfig-common_1_configure-with-dbconfig-yes-no.png)
![](figures/2/figures/debconf-screenshots/dbconfig-common_2_db-types.png)
![](figures/2/figures/debconf-screenshots/dbconfig-common_3_connection_method.png)
![](figures/2/figures/debconf-screenshots/dbconfig-common_4_mysql_root_password.png)
![](figures/2/figures/debconf-screenshots/dbconfig-common_5_mysql_app_password.png)
![](figures/2/figures/debconf-screenshots/dbconfig-common_6_mysql_app_password_confirm.png)
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.