Spdk/test/openstack/run_openstack_tests.sh
Michal Berger ddc069c5be test/openstack: Don't trigger errexit from within finish_test()
If, e.g., the rpc call fails the remaining parts of the function
won't be called, resulting in lingering processes tainting the
testing environment.

Avoid the above scenario by intercepting single es from the entire
list.

Change-Id: Ie591935a3d868a1efa2890d1bb14776b0bdb6620
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1356
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2020-04-10 07:08:43 +00:00

78 lines
3.2 KiB
Bash
Executable File

#!/usr/bin/env bash
testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../..)
rpc_py=$rootdir/scripts/rpc.py
source $rootdir/test/common/autotest_common.sh
source $rootdir/test/nvmf/common.sh
TEST_TRANSPORT='rdma'
nvmftestinit
function finish_test {
{
"$rpc_py" bdev_lvol_delete_lvstore -l lvs0
kill -9 $rpc_proxy_pid
killprocess $nvmfpid
rm "$testdir/conf.json"
} || :
}
trap "finish_test" SIGINT SIGTERM EXIT
timing_enter run_spdk_tgt
$rootdir/scripts/gen_nvme.sh >> $testdir/conf.json
$rootdir/app/spdk_tgt/spdk_tgt -m 0x3 -p 0 -s 1024 -c $testdir/conf.json &
nvmfpid=$!
waitforlisten $nvmfpid
$rpc_py bdev_nvme_set_hotplug -e
timing_exit run_spdk_tgt
timing_enter run_rpc_proxy
$rootdir/scripts/rpc_http_proxy.py 127.0.0.1 3333 secret secret &
rpc_proxy_pid=$!
timing_exit run_rpc_proxy
timing_enter configure_spdk
$rpc_py bdev_get_bdevs
$rpc_py bdev_lvol_delete_lvstore -l lvs0 || true
$rpc_py bdev_lvol_create_lvstore Nvme0n1 lvs0
$rpc_py bdev_get_bdevs
timing_exit configure_spdk
timing_enter restart_cinder
sudo systemctl restart devstack@c-*
sleep 10
timing_exit restart_cinder
# Start testing spdk with openstack using tempest (openstack tool that allow testing an openstack functionalities)
# In this tests is checked if spdk can correctly cooperate with openstack spdk driver
timing_enter tempest_tests
current_dir=$(pwd)
cd /opt/stack/tempest
tox -e all -- tempest.api.compute.volumes.test_attach_volume.AttachVolumeTestJSON.test_attach_detach_volume
tox -e all -- tempest.api.compute.volumes.test_attach_volume.AttachVolumeTestJSON.test_list_get_volume_attachments
tox -e all -- tempest.api.compute.volumes.test_volume_snapshots.VolumesSnapshotsTestJSON.test_volume_snapshot_create_get_list_delete
tox -e all -- tempest.api.compute.volumes.test_volumes_get.VolumesGetTestJSON.test_volume_create_get_delete
tox -e all -- tempest.api.compute.volumes.test_volumes_list.VolumesTestJSON.test_volume_list
tox -e all -- tempest.api.volume.test_versions.VersionsTest.test_list_versions
tox -e all -- tempest.api.volume.test_volumes_extend.VolumesExtendTest.test_volume_extend
tox -e all -- tempest.api.volume.test_volumes_extend.VolumesExtendTest.test_volume_extend_when_volume_has_snapshot
tox -e all -- tempest.api.volume.test_volumes_get.VolumesSummaryTest.test_show_volume_summary
tox -e all -- tempest.api.volume.test_volumes_list.VolumesListTestJSON.test_volume_list
tox -e all -- tempest.api.volume.test_volumes_snapshots.VolumesSnapshotTestJSON.test_snapshot_create_delete_with_volume_in_use
tox -e all -- tempest.api.volume.test_volumes_snapshots.VolumesSnapshotTestJSON.test_snapshot_create_get_list_update_delete
tox -e all -- tempest.api.volume.test_volumes_snapshots.VolumesSnapshotTestJSON.test_snapshot_create_offline_delete_online
tox -e all -- tempest.api.volume.test_volumes_snapshots.VolumesSnapshotTestJSON.test_volume_from_snapshot
tox -e all -- tempest.api.volume.test_volumes_snapshots.VolumesSnapshotTestJSON.test_volume_from_snapshot_no_size
tox -e all -- tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_limit
cd $current_dir
timing_exit tempest_tests
timing_enter test_cleanup
finish_test
trap - SIGINT SIGTERM EXIT
nvmftestfini
timing_exit test_cleanup