From 1c3272973e145cf570d5072e3b8c057a5a672f93 Mon Sep 17 00:00:00 2001 From: "Li, Chen" Date: Fri, 21 Aug 2015 10:45:04 +0800 Subject: [PATCH] Add pre/post test hook scripts Add pre/post test hook scripts for job "gate-manila-tempest-dsvm-neutron-hdfs". As the first step, we set MANILA_MULTI_BACKEND=False. Change-Id: I71b7d84900f5440e1e285afc5f6e53d652b970fa --- devstack/post_test_hook.sh | 74 ++++++++++++++++++++++++++++++++++++++ devstack/pre_test_hook.sh | 42 ++++++++++++++++++++++ 2 files changed, 116 insertions(+) create mode 100755 devstack/post_test_hook.sh create mode 100755 devstack/pre_test_hook.sh diff --git a/devstack/post_test_hook.sh b/devstack/post_test_hook.sh new file mode 100755 index 0000000..4cd77b6 --- /dev/null +++ b/devstack/post_test_hook.sh @@ -0,0 +1,74 @@ +#!/bin/bash -xe +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +# This script is executed inside post_test_hook function in devstack gate. +# First argument ($1) expects 'multibackend' as value for setting appropriate +# tempest conf opts, all other values will assume singlebackend installation. + +sudo chown -R jenkins:stack $BASE/new/tempest +sudo chown -R jenkins:stack $BASE/data/tempest +sudo chmod -R o+rx $BASE/new/devstack/files + +# Import devstack functions 'iniset' +source $BASE/new/devstack/functions + +export BACKENDS_NAMES="HDFS1" +iniset $BASE/new/tempest/etc/tempest.conf share enable_protocols hdfs +iniset $BASE/new/tempest/etc/tempest.conf share storage_protocol HDFS +iniset $BASE/new/tempest/etc/tempest.conf share enable_user_rules_for_protocols hdfs + +iniset $BASE/new/tempest/etc/tempest.conf share backend_names $BACKENDS_NAMES + +# Set two retries for CI jobs +iniset $BASE/new/tempest/etc/tempest.conf share share_creation_retry_number 2 + +# Suppress errors in cleanup of resources +SUPPRESS_ERRORS=${SUPPRESS_ERRORS_IN_CLEANUP:-True} +iniset $BASE/new/tempest/etc/tempest.conf share suppress_errors_in_cleanup $SUPPRESS_ERRORS + +# Disable multi_backend tests +RUN_MANILA_MULTI_BACKEND_TESTS=${RUN_MANILA_MULTI_BACKEND_TESTS:-False} +iniset $BASE/new/tempest/etc/tempest.conf share multi_backend $RUN_MANILA_MULTI_BACKEND_TESTS + +# Disable manage/unmanage tests +RUN_MANILA_MANAGE_TESTS=${RUN_MANILA_MANAGE_TESTS:-False} +iniset $BASE/new/tempest/etc/tempest.conf share run_manage_unmanage_tests $RUN_MANILA_MANAGE_TESTS + +# Disable extend tests +RUN_MANILA_EXTEND_TESTS=${RUN_MANILA_EXTEND_TESTS:-False} +iniset $BASE/new/tempest/etc/tempest.conf share run_extend_tests $RUN_MANILA_EXTEND_TESTS + +# Disable shrink tests +RUN_MANILA_SHRINK_TESTS=${RUN_MANILA_SHRINK_TESTS:-False} +iniset $BASE/new/tempest/etc/tempest.conf share run_shrink_tests $RUN_MANILA_SHRINK_TESTS + +# Disable multi_tenancy tests +iniset $BASE/new/tempest/etc/tempest.conf share multitenancy_enabled False + +# Disable snapshot tests +RUN_MANILA_SNAPSHOT_TESTS=${RUN_MANILA_SNAPSHOT_TESTS:-False} +iniset $BASE/new/tempest/etc/tempest.conf share run_snapshot_tests $RUN_MANILA_SNAPSHOT_TESTS + +# Disable enable_ip_rules_for_protocols +iniset $BASE/new/tempest/etc/tempest.conf share enable_ip_rules_for_protocols + +# let us control if we die or not +set +o errexit +cd $BASE/new/tempest + +export MANILA_TEMPEST_CONCURRENCY=${MANILA_TEMPEST_CONCURRENCY:-12} +export MANILA_TESTS=${MANILA_TESTS:-'tempest.api.share*'} + +echo "Running tempest manila test suites" +sudo -H -u jenkins tox -eall $MANILA_TESTS -- --concurrency=$MANILA_TEMPEST_CONCURRENCY diff --git a/devstack/pre_test_hook.sh b/devstack/pre_test_hook.sh new file mode 100755 index 0000000..3354a8c --- /dev/null +++ b/devstack/pre_test_hook.sh @@ -0,0 +1,42 @@ +#!/bin/bash -xe +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +# This script is executed inside pre_test_hook function in devstack gate. + +localrc_path=$BASE/new/devstack/localrc +echo "DEVSTACK_GATE_TEMPEST_ALLOW_TENANT_ISOLATION=1" >> $localrc_path +echo "API_RATE_LIMIT=False" >> $localrc_path +echo "TEMPEST_SERVICES+=,manila" >> $localrc_path + +echo "MANILA_USE_DOWNGRADE_MIGRATIONS=True" >> $localrc_path + +echo "MANILA_MULTI_BACKEND=False" >> $localrc_path + +# Enabling isolated metadata in Neutron is required because +# Tempest creates isolated networks and created vm's in scenario tests don't +# have access to Nova Metadata service. This leads to unavailability of +# created vm's in scenario tests. +echo 'ENABLE_ISOLATED_METADATA=True' >> $localrc_path + +# Go to Tempest dir and checkout stable commit to avoid possible +# incompatibilities for plugin stored in Manila repo. +TEMPEST_COMMIT="489f5e62" # 15 June, 2015 +cd $BASE/new/tempest +git checkout $TEMPEST_COMMIT + +# Print current Tempest status +git status + +# Install Manila Tempest integration +cp -r $BASE/new/manila/contrib/tempest/tempest/* $BASE/new/tempest/tempest