From 71f23ebeb7c45fb25b41d891e0fb42797c276f1e Mon Sep 17 00:00:00 2001 From: Gabriel Hurley Date: Wed, 15 Feb 2012 17:39:05 -0800 Subject: [PATCH] Converts all tables and connections to UTF8. This is https://review.openstack.org/4221 resurrected as the original was auto-abandoned. Nova database is handled in db migrations; this adds the nova.conf change noted by Naveed Massjouni in the original proposal. Connections to quantum and melange DB changed to utf8 References bug 933208. Change-Id: Ifc4e5cd71cafb719da62214aafc394563ed1aa29 --- stack.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/stack.sh b/stack.sh index 430710cbb9..797b902bcd 100755 --- a/stack.sh +++ b/stack.sh @@ -803,7 +803,7 @@ if is_service_enabled g-reg; then # (re)create glance database mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'DROP DATABASE IF EXISTS glance;' - mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'CREATE DATABASE glance;' + mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'CREATE DATABASE glance CHARACTER SET utf8;' function glance_config { sudo sed -e " @@ -814,7 +814,7 @@ if is_service_enabled g-reg; then s,%KEYSTONE_SERVICE_HOST%,$KEYSTONE_SERVICE_HOST,g; s,%KEYSTONE_SERVICE_PORT%,$KEYSTONE_SERVICE_PORT,g; s,%KEYSTONE_SERVICE_PROTOCOL%,$KEYSTONE_SERVICE_PROTOCOL,g; - s,%SQL_CONN%,$BASE_SQL_CONN/glance,g; + s,%SQL_CONN%,$BASE_SQL_CONN/glance?charset=utf8,g; s,%SERVICE_TENANT_NAME%,$SERVICE_TENANT_NAME,g; s,%SERVICE_USERNAME%,glance,g; s,%SERVICE_PASSWORD%,$SERVICE_PASSWORD,g; @@ -1262,7 +1262,7 @@ add_nova_opt "flat_network_bridge=$FLAT_NETWORK_BRIDGE" if [ -n "$FLAT_INTERFACE" ]; then add_nova_opt "flat_interface=$FLAT_INTERFACE" fi -add_nova_opt "sql_connection=$BASE_SQL_CONN/nova" +add_nova_opt "sql_connection=$BASE_SQL_CONN/nova?charset=utf8" add_nova_opt "libvirt_type=$LIBVIRT_TYPE" add_nova_opt "instance_name_template=${INSTANCE_NAME_PREFIX}%08x" # All nova-compute workers need to know the vnc configuration options @@ -1426,12 +1426,12 @@ fi if is_service_enabled key; then # (re)create keystone database mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'DROP DATABASE IF EXISTS keystone;' - mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'CREATE DATABASE keystone;' + mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'CREATE DATABASE keystone CHARACTER SET utf8;' # Configure keystone.conf KEYSTONE_CONF=$KEYSTONE_DIR/etc/keystone.conf cp $FILES/keystone.conf $KEYSTONE_CONF - sudo sed -e "s,%SQL_CONN%,$BASE_SQL_CONN/keystone,g" -i $KEYSTONE_CONF + sudo sed -e "s,%SQL_CONN%,$BASE_SQL_CONN/keystone?charset=utf8,g" -i $KEYSTONE_CONF sudo sed -e "s,%DEST%,$DEST,g" -i $KEYSTONE_CONF sudo sed -e "s,%SERVICE_TOKEN%,$SERVICE_TOKEN,g" -i $KEYSTONE_CONF sudo sed -e "s,%KEYSTONE_DIR%,$KEYSTONE_DIR,g" -i $KEYSTONE_CONF @@ -1523,7 +1523,7 @@ if is_service_enabled q-svc; then # Create database for the plugin/agent if is_service_enabled mysql; then mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'DROP DATABASE IF EXISTS ovs_quantum;' - mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'CREATE DATABASE IF NOT EXISTS ovs_quantum;' + mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'CREATE DATABASE IF NOT EXISTS ovs_quantum CHARACTER SET utf8;' else echo "mysql must be enabled in order to use the $Q_PLUGIN Quantum plugin." exit 1 @@ -1549,7 +1549,7 @@ if is_service_enabled q-agt; then # Start up the quantum <-> openvswitch agent QUANTUM_OVS_CONFIG_FILE=$QUANTUM_CONF_DIR/ovs_quantum_plugin.ini sudo cp $QUANTUM_DIR/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini $QUANTUM_OVS_CONFIG_FILE - sudo sed -i -e "s/^sql_connection =.*$/sql_connection = mysql:\/\/$MYSQL_USER:$MYSQL_PASSWORD@$MYSQL_HOST\/ovs_quantum/g" $QUANTUM_OVS_CONFIG_FILE + sudo sed -i -e "s/^sql_connection =.*$/sql_connection = mysql:\/\/$MYSQL_USER:$MYSQL_PASSWORD@$MYSQL_HOST\/ovs_quantum?charset=utf8/g" $QUANTUM_OVS_CONFIG_FILE screen_it q-agt "sleep 4; sudo python $QUANTUM_DIR/quantum/plugins/openvswitch/agent/ovs_quantum_agent.py $QUANTUM_OVS_CONFIG_FILE -v" fi @@ -1559,14 +1559,14 @@ fi if is_service_enabled m-svc; then if is_service_enabled mysql; then mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'DROP DATABASE IF EXISTS melange;' - mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'CREATE DATABASE melange;' + mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'CREATE DATABASE melange CHARACTER SET utf8;' else echo "mysql must be enabled in order to use the $Q_PLUGIN Quantum plugin." exit 1 fi MELANGE_CONFIG_FILE=$MELANGE_DIR/etc/melange/melange.conf cp $MELANGE_CONFIG_FILE.sample $MELANGE_CONFIG_FILE - sed -i -e "s/^sql_connection =.*$/sql_connection = mysql:\/\/$MYSQL_USER:$MYSQL_PASSWORD@$MYSQL_HOST\/melange/g" $MELANGE_CONFIG_FILE + sed -i -e "s/^sql_connection =.*$/sql_connection = mysql:\/\/$MYSQL_USER:$MYSQL_PASSWORD@$MYSQL_HOST\/melange?charset=utf8/g" $MELANGE_CONFIG_FILE cd $MELANGE_DIR && PYTHONPATH=.:$PYTHONPATH python $MELANGE_DIR/bin/melange-manage --config-file=$MELANGE_CONFIG_FILE db_sync screen_it m-svc "cd $MELANGE_DIR && PYTHONPATH=.:$PYTHONPATH python $MELANGE_DIR/bin/melange-server --config-file=$MELANGE_CONFIG_FILE" echo "Waiting for melange to start..."