2015-11-09 19:36:56 +02:00
|
|
|
# Environment variables
|
|
|
|
|
|
|
|
# ----------------------------------------------
|
|
|
|
|
|
|
|
# Functions
|
|
|
|
|
2015-11-23 18:38:55 +02:00
|
|
|
# Import devstack functions
|
|
|
|
source $BASE/new/devstack/functions
|
|
|
|
|
2015-11-09 19:36:56 +02:00
|
|
|
function manila_check_service_vm_availability {
|
|
|
|
# First argument is expected to be IP address of a service VM
|
|
|
|
|
|
|
|
wait_step=10
|
|
|
|
wait_timeout=300
|
|
|
|
available='false'
|
|
|
|
while (( wait_timeout > 0 )) ; do
|
2015-11-26 07:30:51 +01:00
|
|
|
if ping -w 1 $1; then
|
2015-11-09 19:36:56 +02:00
|
|
|
available='true'
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
((wait_timeout-=$wait_step))
|
|
|
|
sleep $wait_step
|
|
|
|
done
|
|
|
|
|
|
|
|
if [[ $available == 'true' ]]; then
|
|
|
|
echo "SUCCESS! Service VM $1 is available."
|
|
|
|
else
|
|
|
|
echo "FAILURE! Service VM $1 is not available."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
function manila_wait_for_generic_driver_init {
|
|
|
|
# First argument is expected to be file path to Manila config
|
|
|
|
|
|
|
|
MANILA_CONF=$1
|
|
|
|
DRIVER_GROUPS=$(iniget $MANILA_CONF DEFAULT enabled_share_backends)
|
|
|
|
for driver_group in ${DRIVER_GROUPS//,/ }; do
|
|
|
|
SHARE_DRIVER=$(iniget $MANILA_CONF $driver_group share_driver)
|
|
|
|
GENERIC_DRIVER='manila.share.drivers.generic.GenericShareDriver'
|
|
|
|
DHSS=$(iniget $MANILA_CONF $driver_group driver_handles_share_servers)
|
|
|
|
if [[ $SHARE_DRIVER == $GENERIC_DRIVER && $(trueorfalse False DHSS) == False ]]; then
|
2016-12-01 21:49:15 +03:00
|
|
|
# Wait for service VM availability
|
2015-11-09 19:36:56 +02:00
|
|
|
source /opt/stack/new/devstack/openrc admin demo
|
2016-12-01 21:49:15 +03:00
|
|
|
vm_ip=$(iniget $MANILA_CONF $driver_group service_net_name_or_ip)
|
|
|
|
|
|
|
|
# Check availability
|
|
|
|
manila_check_service_vm_availability $vm_ip
|
2015-11-09 19:36:56 +02:00
|
|
|
fi
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
function manila_wait_for_drivers_init {
|
|
|
|
# First argument is expected to be file path to Manila config
|
|
|
|
|
|
|
|
manila_wait_for_generic_driver_init $1
|
2015-11-26 13:56:16 +02:00
|
|
|
|
|
|
|
# Sleep to make manila-share service notify manila-scheduler about
|
|
|
|
# its capabilities on time.
|
|
|
|
sleep 10
|
2015-11-09 19:36:56 +02:00
|
|
|
}
|
2016-06-10 18:29:24 +03:00
|
|
|
|
|
|
|
function archive_file {
|
|
|
|
# First argument is expected to be filename
|
|
|
|
local filename=$1
|
|
|
|
|
|
|
|
sudo gzip -9 $filename
|
2017-10-13 15:13:16 +01:00
|
|
|
sudo chown $USER:stack $filename.gz
|
2016-06-10 18:29:24 +03:00
|
|
|
sudo chmod a+r $filename.gz
|
|
|
|
}
|
|
|
|
|
|
|
|
function save_tempest_results {
|
|
|
|
# First argument is expected to be number or tempest run
|
|
|
|
|
|
|
|
local src_dirname
|
|
|
|
local dst_dirname
|
|
|
|
|
|
|
|
src_dirname="$BASE/new/tempest"
|
|
|
|
dst_dirname="$BASE/logs/tempest_$1"
|
|
|
|
|
|
|
|
# 1. Create destination directory
|
|
|
|
sudo mkdir $dst_dirname
|
2017-10-13 15:13:16 +01:00
|
|
|
sudo chown $USER:stack $dst_dirname
|
2016-06-10 18:29:24 +03:00
|
|
|
sudo chmod 755 $dst_dirname
|
|
|
|
|
|
|
|
# 2. Save tempest configuration file
|
|
|
|
sudo cp $src_dirname/etc/tempest.conf $dst_dirname/tempest_conf.txt
|
|
|
|
|
|
|
|
# 3. Save tempest log file
|
|
|
|
cp $src_dirname/tempest.log $src_dirname/tempest.txt
|
|
|
|
echo '' > $src_dirname/tempest.log
|
|
|
|
archive_file $src_dirname/tempest.txt
|
|
|
|
sudo mv $src_dirname/tempest.txt.gz $dst_dirname/tempest.txt.gz
|
|
|
|
|
2018-07-11 12:56:10 -07:00
|
|
|
# 4. Save tempest stestr results
|
2016-06-10 18:29:24 +03:00
|
|
|
|
2018-07-11 12:56:10 -07:00
|
|
|
if [ -f $src_dirname/.stestr/0 ]; then
|
2016-06-10 18:29:24 +03:00
|
|
|
pushd $src_dirname
|
2018-07-11 12:56:10 -07:00
|
|
|
sudo stestr last --subunit > $src_dirname/tempest.subunit
|
2016-06-10 18:29:24 +03:00
|
|
|
popd
|
2018-07-11 12:56:10 -07:00
|
|
|
else
|
|
|
|
echo "Tests have not run!"
|
2016-06-10 18:29:24 +03:00
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -f $src_dirname/tempest.subunit ]; then
|
2018-07-11 12:56:10 -07:00
|
|
|
s2h=`type -p subunit2html`
|
|
|
|
sudo $s2h $src_dirname/tempest.subunit $src_dirname/testr_results.html
|
2016-06-10 18:29:24 +03:00
|
|
|
archive_file $src_dirname/tempest.subunit
|
|
|
|
sudo mv $src_dirname/tempest.subunit.gz $dst_dirname/tempest.subunit.gz
|
|
|
|
|
|
|
|
archive_file $src_dirname/testr_results.html
|
|
|
|
sudo mv $src_dirname/testr_results.html.gz $dst_dirname/testr_results.html.gz
|
|
|
|
|
|
|
|
# 5. Cleanup
|
2018-07-11 12:56:10 -07:00
|
|
|
sudo rm -rf $src_dirname/.stestr
|
2016-06-10 18:29:24 +03:00
|
|
|
else
|
2018-07-11 12:56:10 -07:00
|
|
|
echo "No 'stestr' results available for saving. File '$src_dirname/tempest.subunit' is absent."
|
2016-06-10 18:29:24 +03:00
|
|
|
fi
|
|
|
|
}
|