The files in this directory are intended for use by the
-neutron-dsvm-functional infra jobs that run the functional test suite
-in the gate.
+Neutron infra jobs that run the various functional test
+suites in the gate.
# Add a rootwrap filter to support test-only
# configuration (e.g. a KillFilter for processes that
# use the python installed in a tox env).
- FUNC_FILTER=$BASE/new/neutron/neutron/tests/functional/contrib/filters.template
+ FUNC_FILTER=$BASE/new/neutron/neutron/tests/contrib/filters.template
sed -e "s+\$BASE_PATH+$BASE/new/neutron/.tox/dsvm-functional+" \
$FUNC_FILTER | sudo tee /etc/neutron/rootwrap.d/functional.filters > /dev/null
+++ /dev/null
-The files in this directory are intended for use by the
-neutron-dsvm-functional infra jobs that run the functional test suite
-in the gate.
+++ /dev/null
-# neutron-rootwrap command filters to support functional testing. It
-# is NOT intended to be used outside of a test environment.
-#
-# This file should be owned by (and only-writeable by) the root user
-
-[Filters]
-# '$BASE_PATH' is intended to be replaced with the expected tox path
-# (e.g. /opt/stack/new/neutron/.tox/dsvm-functional) by the neutron
-# functional jenkins job. This ensures that tests can kill the
-# processes that they launch with their containing tox environment's
-# python.
-kill_tox_python: KillFilter, root, $BASE_PATH/bin/python, -9
-
-# enable ping from namespace
-ping_filter: CommandFilter, ping, root
-
-# enable curl from namespace
-curl_filter: CommandFilter, curl, root
+++ /dev/null
-#!/bin/bash
-
-set -ex
-
-venv=${1:-"dsvm-functional"}
-
-if [ "$venv" == "dsvm-functional" ]
-then
- $BASE/new/devstack-gate/devstack-vm-gate.sh
-
- # Add a rootwrap filter to support test-only
- # configuration (e.g. a KillFilter for processes that
- # use the python installed in a tox env).
- FUNC_FILTER=$BASE/new/neutron/neutron/tests/functional/contrib/filters.template
- sed -e "s+\$BASE_PATH+$BASE/new/neutron/.tox/dsvm-functional+" \
- $FUNC_FILTER | sudo tee /etc/neutron/rootwrap.d/functional.filters > /dev/null
-
- # Use devstack functions to install mysql and psql servers
- TOP_DIR=$BASE/new/devstack
- source $TOP_DIR/functions
- source $TOP_DIR/lib/config
- source $TOP_DIR/stackrc
- source $TOP_DIR/lib/database
- source $TOP_DIR/localrc
-
- disable_service postgresql
- enable_service mysql
- initialize_database_backends
- install_database
-
- disable_service mysql
- enable_service postgresql
- initialize_database_backends
- install_database
-
- # Set up the 'openstack_citest' user and database in each backend
- tmp_dir=`mktemp -d`
-
- cat << EOF > $tmp_dir/mysql.sql
-CREATE DATABASE openstack_citest;
-CREATE USER 'openstack_citest'@'localhost' IDENTIFIED BY 'openstack_citest';
-CREATE USER 'openstack_citest' IDENTIFIED BY 'openstack_citest';
-GRANT ALL PRIVILEGES ON *.* TO 'openstack_citest'@'localhost';
-GRANT ALL PRIVILEGES ON *.* TO 'openstack_citest';
-FLUSH PRIVILEGES;
-EOF
- /usr/bin/mysql -u root < $tmp_dir/mysql.sql
-
- cat << EOF > $tmp_dir/postgresql.sql
-CREATE USER openstack_citest WITH CREATEDB LOGIN PASSWORD 'openstack_citest';
-CREATE DATABASE openstack_citest WITH OWNER openstack_citest;
-EOF
- # User/group postgres needs to be given access to tmp_dir
- setfacl -m g:postgres:rwx $tmp_dir
- sudo -u postgres /usr/bin/psql --file=$tmp_dir/postgresql.sql
-fi
+++ /dev/null
-#!/bin/bash
-
-set -xe
-
-NEUTRON_DIR="$BASE/new/neutron"
-SCRIPTS_DIR="/usr/local/jenkins/slave_scripts"
-
-venv=${1:-"dsvm-functional"}
-
-function generate_testr_results {
- # Give job user rights to access tox logs
- sudo -H -u stack chmod o+rw -R .
- if [ -f ".testrepository/0" ] ; then
- .tox/$venv/bin/subunit-1to2 < .testrepository/0 > ./testrepository.subunit
- .tox/$venv/bin/python $SCRIPTS_DIR/subunit2html.py ./testrepository.subunit testr_results.html
- gzip -9 ./testrepository.subunit
- gzip -9 ./testr_results.html
- sudo mv ./*.gz /opt/stack/logs/
- fi
-}
-
-
-function dsvm_functional_prep_func {
- :
-}
-
-
-function api_prep_func {
- TEMPEST_DIR="$BASE/new/tempest"
- sudo -H -u $owner tox -e $venv --notest
- sudo -H -u $owner .tox/$venv/bin/pip install -e $TEMPEST_DIR
-}
-
-
-if [ "$venv" == "dsvm-functional" ]
-then
- owner=stack
- prep_func="dsvm_functional_prep_func"
-elif [ "$venv" == "api" ]
-then
- owner=tempest
- prep_func="api_prep_func"
-fi
-
-# Set owner permissions according to job's requirements.
-sudo chown -R $owner:stack $NEUTRON_DIR
-# Prep the environment according to job's requirements.
-$prep_func
-
-# Run tests
-cd $NEUTRON_DIR
-echo "Running neutron $venv test suite"
-set +e
-sudo -H -u $owner tox -e $venv
-testr_exit_code=$?
-set -e
-
-# Collect and parse results
-generate_testr_results
-exit $testr_exit_code