Remove devstack-gate test hooks
devstack-plugin-ceph is now branched;
these test hooks were maintained to
support legacy style zuul jobs; All
manila zuul jobs were ported to native
zuulv3 style jobs in the victoria cycle
and no longer rely on these files;
so we can remove these test hook files
from all three releases (victoria, wallaby,
xena/trunk).
Change-Id: I81e838bf13cb32503ee2b8becd06daea5ab01dfa
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
(cherry picked from commit 837f48de40
)
This commit is contained in:
parent
3db789ae6c
commit
78f6900a87
|
@ -1,203 +0,0 @@
|
|||
#!/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.
|
||||
|
||||
sudo chown -R $USER:stack $BASE/new/tempest
|
||||
sudo chown -R $USER:stack $BASE/data/tempest
|
||||
sudo chmod -R o+rx $BASE/new/devstack/files
|
||||
|
||||
# Import devstack functions 'iniset'.
|
||||
source $BASE/new/devstack/functions
|
||||
|
||||
export TEMPEST_CONFIG=$BASE/new/tempest/etc/tempest.conf
|
||||
|
||||
# === Handle script arguments ===
|
||||
# The script arguments as detailed here in the manila CI job
|
||||
# template,
|
||||
# https://github.com/openstack-infra/project-config/commit/6ae99cee70a33d6cc312a7f9a83aa6db8b39ce21
|
||||
# Handle the relevant ones.
|
||||
|
||||
# First argument is the type of backend configuration that is setup. It can
|
||||
# either be 'singlebackend' or 'multiplebackend'.
|
||||
MANILA_BACKEND_TYPE=$1
|
||||
MANILA_BACKEND_TYPE=${MANILA_BACKEND_TYPE:-singlebackend}
|
||||
|
||||
# Second argument is the type of the cephfs driver that is setup. Currently,
|
||||
# 'cephfsnative' is the only possibility.
|
||||
MANILA_CEPH_DRIVER=$2
|
||||
MANILA_CEPH_DRIVER=${MANILA_CEPH_DRIVER:-cephfsnative}
|
||||
|
||||
# Third argument is the type of Tempest tests to be run, 'api' or 'scenario'.
|
||||
MANILA_TEST_TYPE=$3
|
||||
MANILA_TEST_TYPE=${MANILA_TEST_TYPE:-api}
|
||||
|
||||
# Manila drivers don't support creating shares from snapshots even if
|
||||
# snapshots themselves are supported. Let's turn off this capability
|
||||
# in tempest.conf
|
||||
iniset $TEMPEST_CONFIG share capability_create_share_from_snapshot_support False
|
||||
|
||||
if [[ $MANILA_CEPH_DRIVER == 'cephfsnative' ]]; then
|
||||
export BACKEND_NAME="CEPHFSNATIVE1"
|
||||
iniset $TEMPEST_CONFIG share enable_protocols cephfs
|
||||
iniset $TEMPEST_CONFIG share storage_protocol CEPHFS
|
||||
|
||||
# Disable tempest config option that enables creation of 'ip' type access
|
||||
# rules by default during tempest test runs.
|
||||
iniset $TEMPEST_CONFIG share enable_ip_rules_for_protocols
|
||||
iniset $TEMPEST_CONFIG share enable_cert_rules_for_protocols
|
||||
iniset $TEMPEST_CONFIG share enable_cephx_rules_for_protocols cephfs
|
||||
iniset $TEMPEST_CONFIG share backend_names $BACKEND_NAME
|
||||
|
||||
# Disable manage/unmanage tests
|
||||
# CephFSNative driver does not yet support manage and unmanage operations of shares.
|
||||
RUN_MANILA_MANAGE_TESTS=${RUN_MANILA_MANAGE_TESTS:-False}
|
||||
iniset $TEMPEST_CONFIG share run_manage_unmanage_tests $RUN_MANILA_MANAGE_TESTS
|
||||
RUN_MANILA_IPV6_TESTS=False
|
||||
elif [[ $MANILA_CEPH_DRIVER == 'cephfsnfs' ]]; then
|
||||
iniset $TEMPEST_CONFIG share enable_protocols nfs
|
||||
iniset $TEMPEST_CONFIG share capability_storage_protocol NFS
|
||||
iniset $TEMPEST_CONFIG share enable_ip_rules_for_protocols nfs
|
||||
RUN_MANILA_IPV6_TESTS=True
|
||||
fi
|
||||
|
||||
if [[ $ZUUL_BRANCH != "master" ]]; then
|
||||
# If testing a stable branch, we need to ensure we're testing with
|
||||
# supported API micro-versions; so set the versions from code if we're
|
||||
# not testing the master branch. If we're testing master, we'll allow
|
||||
# manila-tempest-plugin (which is branchless) tell us what versions it
|
||||
# wants to test. Grab the supported API micro-versions from the code
|
||||
_API_VERSION_REQUEST_PATH=$BASE/new/manila/manila/api/openstack/api_version_request.py
|
||||
_DEFAULT_MIN_VERSION=$(awk '$0 ~ /_MIN_API_VERSION = /{print $3}' $_API_VERSION_REQUEST_PATH)
|
||||
_DEFAULT_MAX_VERSION=$(awk '$0 ~ /_MAX_API_VERSION = /{print $3}' $_API_VERSION_REQUEST_PATH)
|
||||
# Override the *_api_microversion tempest options if present
|
||||
MANILA_TEMPEST_MIN_API_MICROVERSION=${MANILA_TEMPEST_MIN_API_MICROVERSION:-$_DEFAULT_MIN_VERSION}
|
||||
MANILA_TEMPEST_MAX_API_MICROVERSION=${MANILA_TEMPEST_MAX_API_MICROVERSION:-$_DEFAULT_MAX_VERSION}
|
||||
# Set these options in tempest.conf
|
||||
iniset $TEMPEST_CONFIG share min_api_microversion $MANILA_TEMPEST_MIN_API_MICROVERSION
|
||||
iniset $TEMPEST_CONFIG share max_api_microversion $MANILA_TEMPEST_MAX_API_MICROVERSION
|
||||
|
||||
# NOTE(gouthamr): extra rules are needed to allow VMs to mount storage
|
||||
# from the host.
|
||||
# In master/victoria, this is being done by manila's devstack plugin
|
||||
# See: https://review.opendev.org/724202/
|
||||
TCP_PORTS=(2049 111 32803 892 875 662)
|
||||
UDP_PORTS=(111 32769 892 875 662)
|
||||
for ipcmd in iptables ip6tables; do
|
||||
sudo $ipcmd -N manila-nfs
|
||||
sudo $ipcmd -I INPUT 1 -j manila-nfs
|
||||
for port in ${TCP_PORTS[*]}; do
|
||||
sudo $ipcmd -A manila-nfs -m tcp -p tcp --dport $port -j ACCEPT
|
||||
done
|
||||
for port in ${UDP_PORTS[*]}; do
|
||||
sudo $ipcmd -A manila-nfs -m udp -p udp --dport $port -j ACCEPT
|
||||
done
|
||||
done
|
||||
|
||||
# In master/ussuri, this is being done by manila's devstack plugin
|
||||
# See: https://review.opendev.org/724204/
|
||||
if [[ "$(trueorfalse False MANILA_SETUP_IPV6)" == "True" ]]; then
|
||||
# Now that all plugins are loaded, setup BGP here
|
||||
public_gateway_ipv6=$(openstack subnet show ipv6-public-subnet -c gateway_ip -f value)
|
||||
neutron bgp-speaker-create --ip-version 6 --local-as 100 bgpspeaker
|
||||
neutron bgp-speaker-network-add bgpspeaker $PUBLIC_NETWORK_NAME
|
||||
neutron bgp-peer-create --peer-ip $public_gateway_ipv6 --remote-as 200 bgppeer
|
||||
neutron bgp-speaker-peer-add bgpspeaker bgppeer
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
# Set two retries for CI jobs.
|
||||
iniset $TEMPEST_CONFIG share share_creation_retry_number 2
|
||||
|
||||
# Suppress errors in cleanup of resources.
|
||||
SUPPRESS_ERRORS=${SUPPRESS_ERRORS_IN_CLEANUP:-True}
|
||||
iniset $TEMPEST_CONFIG share suppress_errors_in_cleanup $SUPPRESS_ERRORS
|
||||
|
||||
|
||||
if [[ $MANILA_BACKEND_TYPE == 'multibackend' ]]; then
|
||||
RUN_MANILA_MULTI_BACKEND_TESTS=True
|
||||
elif [[ $MANILA_BACKEND_TYPE == 'singlebackend' ]]; then
|
||||
RUN_MANILA_MULTI_BACKEND_TESTS=False
|
||||
fi
|
||||
iniset $TEMPEST_CONFIG share multi_backend $RUN_MANILA_MULTI_BACKEND_TESTS
|
||||
|
||||
# Enable extend tests.
|
||||
RUN_MANILA_EXTEND_TESTS=${RUN_MANILA_EXTEND_TESTS:-True}
|
||||
iniset $TEMPEST_CONFIG share run_extend_tests $RUN_MANILA_EXTEND_TESTS
|
||||
|
||||
# Enable shrink tests.
|
||||
RUN_MANILA_SHRINK_TESTS=${RUN_MANILA_SHRINK_TESTS:-True}
|
||||
iniset $TEMPEST_CONFIG share run_shrink_tests $RUN_MANILA_SHRINK_TESTS
|
||||
|
||||
# Disable multi_tenancy tests.
|
||||
iniset $TEMPEST_CONFIG share multitenancy_enabled False
|
||||
|
||||
# CephFS does not yet suppport cloning of snapshots required to create Manila
|
||||
# shares from snapshots.
|
||||
# Disable snapshot tests
|
||||
RUN_MANILA_SNAPSHOT_TESTS=${RUN_MANILA_SNAPSHOT_TESTS:-False}
|
||||
iniset $TEMPEST_CONFIG share run_snapshot_tests $RUN_MANILA_SNAPSHOT_TESTS
|
||||
|
||||
# Disable consistency group tests. The lone cephfs driver, cephfs native,
|
||||
# does not yet (2nd Feb, 2016) support,
|
||||
# 'create_consistency_group_from_snapshot' API.
|
||||
RUN_MANILA_CG_TESTS=${RUN_MANILA_CG_TESTS:-False}
|
||||
iniset $TEMPEST_CONFIG share run_consistency_group_tests $RUN_MANILA_CG_TESTS
|
||||
|
||||
source $BASE/new/devstack/openrc admin admin
|
||||
public_net_id=$(openstack network list --name $PUBLIC_NETWORK_NAME -f value -c ID )
|
||||
iniset $TEMPEST_CONFIG network public_network_id $public_net_id
|
||||
|
||||
iniset $TEMPEST_CONFIG share run_ipv6_tests $RUN_MANILA_IPV6_TESTS
|
||||
|
||||
# Let us control if we die or not.
|
||||
set +o errexit
|
||||
cd $BASE/new/tempest
|
||||
|
||||
|
||||
# Workaround for Tempest architectural changes
|
||||
# See bugs:
|
||||
# 1) https://bugs.launchpad.net/manila/+bug/1531049
|
||||
# 2) https://bugs.launchpad.net/tempest/+bug/1524717
|
||||
ADMIN_TENANT_NAME=${ADMIN_TENANT_NAME:-"admin"}
|
||||
ADMIN_PASSWORD=${ADMIN_PASSWORD:-"secretadmin"}
|
||||
iniset $TEMPEST_CONFIG auth admin_username ${ADMIN_USERNAME:-"admin"}
|
||||
iniset $TEMPEST_CONFIG auth admin_password $ADMIN_PASSWORD
|
||||
iniset $TEMPEST_CONFIG auth admin_tenant_name $ADMIN_TENANT_NAME
|
||||
iniset $TEMPEST_CONFIG auth admin_domain_name ${ADMIN_DOMAIN_NAME:-"Default"}
|
||||
iniset $TEMPEST_CONFIG identity username ${TEMPEST_USERNAME:-"demo"}
|
||||
iniset $TEMPEST_CONFIG identity password $ADMIN_PASSWORD
|
||||
iniset $TEMPEST_CONFIG identity tenant_name ${TEMPEST_TENANT_NAME:-"demo"}
|
||||
iniset $TEMPEST_CONFIG identity alt_username ${ALT_USERNAME:-"alt_demo"}
|
||||
iniset $TEMPEST_CONFIG identity alt_password $ADMIN_PASSWORD
|
||||
iniset $TEMPEST_CONFIG identity alt_tenant_name ${ALT_TENANT_NAME:-"alt_demo"}
|
||||
iniset $TEMPEST_CONFIG validation ip_version_for_ssh 4
|
||||
iniset $TEMPEST_CONFIG validation ssh_timeout $BUILD_TIMEOUT
|
||||
iniset $TEMPEST_CONFIG validation network_for_ssh ${PRIVATE_NETWORK_NAME:-"private"}
|
||||
|
||||
_DEFAULT_TEST_CONCURRENCY=8
|
||||
echo "Running tempest manila test suites"
|
||||
if [[ $MANILA_TEST_TYPE == 'api' ]]; then
|
||||
export MANILA_TESTS='manila_tempest_tests.tests.api'
|
||||
_DEFAULT_TEST_CONCURRENCY=12
|
||||
elif [[ $MANILA_TEST_TYPE == 'scenario' ]]; then
|
||||
export MANILA_TESTS='manila_tempest_tests.tests.scenario'
|
||||
else
|
||||
export MANILA_TESTS='manila_tempest_tests.tests'
|
||||
fi
|
||||
export MANILA_TEMPEST_CONCURRENCY=${MANILA_TEMPEST_CONCURRENCY:-$_DEFAULT_TEST_CONCURRENCY}
|
||||
|
||||
sudo -H -u $USER tempest list-plugins
|
||||
sudo -H -u $USER tempest run -r $MANILA_TESTS --concurrency=$MANILA_TEMPEST_CONCURRENCY
|
|
@ -1,86 +0,0 @@
|
|||
#!/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.
|
||||
|
||||
# Import devstack function 'trueorfalse'.
|
||||
source $BASE/new/devstack/functions
|
||||
|
||||
# === Handle script arguments ===
|
||||
# Handle script arguments as detailed here in the manila CI job template,
|
||||
# https://github.com/openstack-infra/project-config/commit/6ae99cee70a33d6cc312a7f9a83aa6db8b39ce21
|
||||
|
||||
# First argument specifies the type of share driver -- whether the driver
|
||||
# handles or does not handle share servers -- to be configured. It is a boolean
|
||||
# value, 'True' for driver that handles share servers, and 'False' for driver
|
||||
# that does not.
|
||||
MANILA_DHSS=$1
|
||||
MANILA_DHSS=$(trueorfalse False MANILA_DHSS)
|
||||
|
||||
# Second argument specifies the type of cephfs driver to be set up. Currently,
|
||||
# 'cephfsnative' is the only option.
|
||||
MANILA_CEPH_DRIVER=$2
|
||||
MANILA_CEPH_DRIVER=${MANILA_CEPH_DRIVER:-cephfsnative}
|
||||
|
||||
# Third argument specifies the type of backend configuration. It can either be
|
||||
# 'singlebackend' or 'multiplebackend'.
|
||||
MANILA_BACKEND_TYPE=$3
|
||||
MANILA_BACKEND_TYPE=${MANILA_BACKEND_TYPE:-singlebackend}
|
||||
|
||||
localconf=$BASE/new/devstack/local.conf
|
||||
|
||||
echo "[[local|localrc]]" >> $localconf
|
||||
if [[ $MANILA_BACKEND_TYPE == 'multibackend' ]]; then
|
||||
echo "MANILA_MULTI_BACKEND=True" >> $localconf
|
||||
elif [[ $MANILA_BACKEND_TYPE == 'singlebackend' ]]; then
|
||||
echo "MANILA_MULTI_BACKEND=False" >> $localconf
|
||||
fi
|
||||
|
||||
echo "SHARE_DRIVER=manila.share.drivers.cephfs.driver.CephFSDriver" >> $localconf
|
||||
|
||||
echo "DEVSTACK_GATE_TEMPEST_ALLOW_TENANT_ISOLATION=1" >> $localconf
|
||||
echo "API_RATE_LIMIT=False" >> $localconf
|
||||
echo "MANILA_USE_DOWNGRADE_MIGRATIONS=True" >> $localconf
|
||||
|
||||
echo "MANILA_SERVICE_IMAGE_ENABLED=True" >> $localconf
|
||||
echo "MANILA_USE_SERVICE_INSTANCE_PASSWORD=True" >> $localconf
|
||||
|
||||
# Enable isolated metadata in Neutron because Tempest creates isolated
|
||||
# networks and created VMs in scenario tests don't have access to Nova Metadata
|
||||
# service. This leads to unavailability of created VMs in scenario tests.
|
||||
echo 'ENABLE_ISOLATED_METADATA=True' >> $localconf
|
||||
|
||||
# Need VMs to be able to access CephFS shares
|
||||
echo "MANILA_ALLOW_NAS_SERVER_PORTS_ON_HOST=True" >> $localconf
|
||||
|
||||
# NOTE(gouthamr): These bash hooks will be deleted in the Victoria cycle,
|
||||
# so the branch regex is deliberate.
|
||||
IPv6_SUPPORTED_BRANCHES="stable/train stable/ussuri master"
|
||||
if [[ $MANILA_CEPH_DRIVER == 'cephfsnfs' && $IPv6_SUPPORTED_BRANCHES =~ $ZUUL_BRANCH ]]; then
|
||||
# When setting up proper IPv6 networks, we should do it ourselves so we can
|
||||
# use Neutron Dynamic Routing plugin with address scopes instead of the
|
||||
# regular Neutron DevStack configuration.
|
||||
echo "MANILA_SETUP_IPV6=True" >> $localconf
|
||||
echo "MANILA_RESTORE_IPV6_DEFAULT_ROUTE=False" >> $localconf
|
||||
echo "NEUTRON_CREATE_INITIAL_NETWORKS=False" >> $localconf
|
||||
fi
|
||||
|
||||
# Go to Tempest dir and checkout stable commit to avoid possible
|
||||
# incompatibilities for plugin stored in Manila repo.
|
||||
cd $BASE/new/tempest
|
||||
|
||||
source $BASE/new/manila/contrib/ci/common.sh
|
||||
|
||||
# Print current Tempest status.
|
||||
git status
|
Loading…
Reference in New Issue