1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
#!/bin/sh
set -e
remove_cell0_database (){
dump_timestamp=$(date +"%Y-%m-%d-%H-%M-%S")
if [ "${dbc_dbtype}" = "mysql" ]; then
# Drop nova_cell0 database
echo "===> nova-common: Dumping ${dbc_dbname}_cell0 database to /var/tmp/nova-common.${dbc_dbname}_cell0.${dump_timestamp}.mysql"
# Assume empty password is OK.
# If so then -p must be absent from mysql call
if [ "${dbc_dbadmpass}" = "" ];then
l_dbc_dbadmpass=""
else
l_dbc_dbadmpass="-p${dbc_dbadmpass}"
fi
mysqldump -h ${dbc_dbserver} -u ${dbc_dbadmin} ${l_dbc_dbadmpass} ${dbc_dbname}_cell0 > /var/tmp/nova-common.${dbc_dbname}_cell0.${dump_timestamp}.mysql
echo "===> nova-common: Revoking all privileges from '${dbc_dbuser}'@'${dbc_dballow}' for ${dbc_dbname}_cell0"
echo "REVOKE ALL PRIVILEGES ON ${dbc_dbname}_cell0.* FROM '${dbc_dbuser}'@'${dbc_dballow}';" | mysql -h ${dbc_dbserver} -u ${dbc_dbadmin} ${l_dbc_dbadmpass}
echo "===> nova-common: Droping database ${dbc_dbname}_cell0"
echo "DROP DATABASE ${dbc_dbname}_cell0" | mysql -h ${dbc_dbserver} -u ${dbc_dbadmin} ${l_dbc_dbadmpass}
elif [ "$nova_database_type" = "sqlite3" ]; then
echo "===> nova-common: Creation of database in sqlite3 is not currently supported. If you've created manually, delete also manually."
else
echo "===> nova-common: Database configuration available only for mysql currently. If you've created database manually, delete also manually."
fi
}
if [ "${1}" = "remove" ] && [ -r /usr/share/debconf/confmodule ] && [ -r /usr/share/dbconfig-common/dpkg/prerm ] ; then
. /usr/share/debconf/confmodule
db_get nova/configure_db || true
if [ "$RET" = "true" ] ; then
. /usr/share/dbconfig-common/dpkg/prerm
dbc_go nova-common $@
if [ "$dbc_remove" = "true" ]; then
remove_cell0_database
fi
fi
fi
#DEBHELPER#
exit 0
|