"Fossies" - the Fresh Open Source Software Archive

Member "keystone-18.0.0/tools/test-setup.sh" (14 Oct 2020, 2142 Bytes) of package /linux/misc/openstack/keystone-18.0.0.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Bash source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "test-setup.sh": 17.0.0_vs_18.0.0.

    1 #!/bin/bash -xe
    2 
    3 # This script will be run by OpenStack CI before unit tests are run,
    4 # it sets up the test system as needed.
    5 # Developers should setup their test systems in a similar way.
    6 
    7 # This setup needs to be run as a user that can run sudo.
    8 
    9 # The root password for the MySQL database; pass it in via
   10 # MYSQL_ROOT_PW.
   11 DB_ROOT_PW=${MYSQL_ROOT_PW:-insecure_slave}
   12 
   13 # This user and its password are used by the tests, if you change it,
   14 # your tests might fail.
   15 DB_USER=openstack_citest
   16 DB_PW=openstack_citest
   17 
   18 sudo -H mysqladmin -u root password $DB_ROOT_PW
   19 
   20 # It's best practice to remove anonymous users from the database.  If
   21 # a anonymous user exists, then it matches first for connections and
   22 # other connections from that host will not work.
   23 sudo -H mysql -u root -p$DB_ROOT_PW -h localhost -e "
   24     DELETE FROM mysql.user WHERE User='';
   25     FLUSH PRIVILEGES;
   26     CREATE USER '$DB_USER'@'%' IDENTIFIED BY '$DB_PW';
   27     GRANT ALL PRIVILEGES ON *.* TO '$DB_USER'@'%' WITH GRANT OPTION;"
   28 
   29 # Bump the max_connections limit
   30 sudo -H mysql -u root -p$DB_ROOT_PW -h localhost -e "
   31     SET GLOBAL max_connections = 1024;"
   32 
   33 # Now create our database.
   34 mysql -u $DB_USER -p$DB_PW -h 127.0.0.1 -e "
   35     SET default_storage_engine=MYISAM;
   36     DROP DATABASE IF EXISTS openstack_citest;
   37     CREATE DATABASE openstack_citest CHARACTER SET utf8;"
   38 
   39 # Same for PostgreSQL
   40 # The root password for the PostgreSQL database; pass it in via
   41 # POSTGRES_ROOT_PW.
   42 DB_ROOT_PW=${POSTGRES_ROOT_PW:-insecure_slave}
   43 
   44 # Setup user
   45 root_roles=$(sudo -H -u postgres psql -t -c "
   46    SELECT 'HERE' from pg_roles where rolname='$DB_USER'")
   47 if [[ ${root_roles} == *HERE ]];then
   48     sudo -H -u postgres psql -c "ALTER ROLE $DB_USER WITH SUPERUSER LOGIN PASSWORD '$DB_PW'"
   49 else
   50     sudo -H -u postgres psql -c "CREATE ROLE $DB_USER WITH SUPERUSER LOGIN PASSWORD '$DB_PW'"
   51 fi
   52 
   53 # Store password for tests
   54 cat << EOF > $HOME/.pgpass
   55 *:*:*:$DB_USER:$DB_PW
   56 EOF
   57 chmod 0600 $HOME/.pgpass
   58 
   59 # Now create our database
   60 psql -h 127.0.0.1 -U $DB_USER -d template1 -c "DROP DATABASE IF EXISTS openstack_citest"
   61 createdb -h 127.0.0.1 -U $DB_USER -l C -T template0 -E utf8 openstack_citest