32b8307819
Prepare for the Image API v1 to be removed from glance during Rocky by splitting the functional tests that hit v1 from the tests that hit v2. Introduce a new job that runs the functional-v1 tests against a devstack running glance stable/queens, and configure this job for both check and gate for the glanceclient. The v2 functional tests continue to be run for both check and gate against a devstack running glance master. Change-Id: Ifa98ada26a84e4cca3ea8c98173f61a6174cca27
40 lines
1.5 KiB
Bash
Executable File
40 lines
1.5 KiB
Bash
Executable File
# When the functional tests are run in a devstack environment, we
|
|
# need to make sure that the python-requests module installed by
|
|
# tox in the test environment can find the distro-specific CA store
|
|
# where the devstack certs have been installed.
|
|
#
|
|
# assumptions:
|
|
# - devstack is running
|
|
# - the devstack tls-proxy service is running
|
|
# - the environment var OS_TESTENV_NAME is set in tox.ini (defaults
|
|
# to 'functional'
|
|
#
|
|
# This code based on a function in devstack lib/tls
|
|
function set_ca_bundle {
|
|
local python_cmd=".tox/${OS_TESTENV_NAME:-functional}/bin/python"
|
|
local capath=$($python_cmd -c $'try:\n from requests import certs\n print (certs.where())\nexcept ImportError: pass')
|
|
# of course, each distro keeps the CA store in a different location
|
|
local fedora_CA='/etc/pki/tls/certs/ca-bundle.crt'
|
|
local ubuntu_CA='/etc/ssl/certs/ca-certificates.crt'
|
|
local suse_CA='/etc/ssl/ca-bundle.pem'
|
|
|
|
# the distro CA is rooted in /etc, so if ours isn't, we need to
|
|
# change it
|
|
if [[ ! $capath == "" && ! $capath =~ ^/etc/.* && ! -L $capath ]]; then
|
|
if [[ -e $fedora_CA ]]; then
|
|
rm -f $capath
|
|
ln -s $fedora_CA $capath
|
|
elif [[ -e $ubuntu_CA ]]; then
|
|
rm -f $capath
|
|
ln -s $ubuntu_CA $capath
|
|
elif [[ -e $suse_CA ]]; then
|
|
rm -f $capath
|
|
ln -s $suse_CA $capath
|
|
else
|
|
echo "can't set CA bundle, expect tests to fail"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
set_ca_bundle
|