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:
parent
811d47f0c0
commit
02e6a7cd7c
@ -8,3 +8,5 @@ mysql-server [platform:dpkg]
|
||||
postgresql
|
||||
postgresql-client [platform:dpkg]
|
||||
postgresql-server [platform:rpm]
|
||||
mariadb [platform:rpm]
|
||||
mariadb-server [platform:rpm]
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user