include mariadb, mariadb-server in bindep, for tests

as of https://review.opendev.org/#/c/751112/
py36 tests fail w/
     + sudo -H mysqladmin -u root password insecure_slave
     sudo: mysqladmin: command not found

Change-Id: I95bdb5e3908fdcef4e555095c9d61a282f48b0bb
This commit is contained in:
Purandhar Sairam Mannidi 2020-10-03 20:45:33 +10:00 committed by Yasufumi Ogawa
parent 811d47f0c0
commit 02e6a7cd7c
2 changed files with 59 additions and 3 deletions

View File

@ -8,3 +8,5 @@ mysql-server [platform:dpkg]
postgresql
postgresql-client [platform:dpkg]
postgresql-server [platform:rpm]
mariadb [platform:rpm]
mariadb-server [platform:rpm]

View File

@ -6,6 +6,30 @@
# This setup needs to be run as a user that can run sudo.
function is_fedora {
if [[ -x $(command -v dnf 2>/dev/null) ]]; then
sudo dnf install -qy redhat-lsb-core
else
return
fi
if [[ -x $(command -v lsb_release 2>/dev/null) ]]; then
os_VENDOR=$(lsb_release -i -s)
if [ "$os_VENDOR" = "Fedora" ] || [ "$os_VENDOR" = "Red Hat" ] || \
[ "$os_VENDOR" = "RedHatEnterpriseServer" ] || \
[ "$os_VENDOR" = "RedHatEnterprise" ] || \
[ "$os_VENDOR" = "CentOS" ] || [ "$os_VENDOR" = "OracleServer" ] || \
[ "$os_VENDOR" = "Virtuozzo" ] ; then
return 0
else
return
fi
fi
}
# The root password for the MySQL database; pass it in via
# MYSQL_ROOT_PW.
DB_ROOT_PW=${MYSQL_ROOT_PW:-insecure_slave}
@ -15,6 +39,36 @@ DB_ROOT_PW=${MYSQL_ROOT_PW:-insecure_slave}
DB_USER=openstack_citest
DB_PW=openstack_citest
if is_fedora ; then
# services are not started by default
# Enable and start MariaDB
sudo systemctl enable --now mariadb
# Intialiaze, Enable and start PostgreSQL
pg_hba=/var/lib/pgsql/data/pg_hba.conf
pg_conf=/var/lib/pgsql/data/postgresql.conf
if ! sudo [ -e $pg_hba ]; then
sudo postgresql-setup initdb
fi
sudo systemctl enable --now postgresql
if sudo [ -e $pg_conf ]; then
# Listen on all addresses
sudo sed -i "/listen_addresses/s/.*/listen_addresses = '*'/" $pg_conf
fi
if sudo [ -e $pg_hba ];then
# Do password auth from all IPv4 clients
sudo sed -i "/^host/s/all\s\+127.0.0.1\/32\s\+ident/$DB_USER\t0.0.0.0\/0\tpassword/" $pg_hba
# Do password auth for all IPv6 clients
sudo sed -i "/^host/s/all\s\+::1\/128\s\+ident/$DB_USER\t::0\/0\tpassword/" $pg_hba
fi
sudo systemctl stop postgresql
sudo systemctl start postgresql
fi
sudo -H mysqladmin -u root password $DB_ROOT_PW
# It's best practice to remove anonymous users from the database. If
@ -38,12 +92,12 @@ mysql -u $DB_USER -p$DB_PW -h 127.0.0.1 -e "
DB_ROOT_PW=${POSTGRES_ROOT_PW:-insecure_slave}
# Setup user
root_roles=$(sudo -H -u postgres psql -t -c "
root_roles=$(sudo -u root sudo -u postgres -i psql -t -c "
SELECT 'HERE' from pg_roles where rolname='$DB_USER'")
if [[ ${root_roles} == *HERE ]];then
sudo -H -u postgres psql -c "ALTER ROLE $DB_USER WITH SUPERUSER LOGIN PASSWORD '$DB_PW'"
sudo -u root sudo -u postgres -i psql -c "ALTER ROLE $DB_USER WITH SUPERUSER LOGIN PASSWORD '$DB_PW'"
else
sudo -H -u postgres psql -c "CREATE ROLE $DB_USER WITH SUPERUSER LOGIN PASSWORD '$DB_PW'"
sudo -u root sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH SUPERUSER LOGIN PASSWORD '$DB_PW'"
fi
# Store password for tests