diff --git a/bindep.txt b/bindep.txt index dd66b05..812e00c 100644 --- a/bindep.txt +++ b/bindep.txt @@ -49,17 +49,5 @@ python2-dnf [platform:fedora] libselinux-python [platform:redhat] libsemanage-python [platform:redhat] -# For SSL SNI support -python-pyasn1 [platform:dpkg platform:suse] -python-openssl [platform:dpkg] -python-ndg-httpsclient [platform:ubuntu !platform:ubuntu-14] -python2-pyasn1 [platform:redhat] -pyOpenSSL [platform:redhat] -python-pyOpenSSL [platform:opensuseproject-42] -python2-pyOpenSSL [platform:suse !platform:opensuseproject-42] -python-ndg_httpsclient [platform:redhat !platform:fedora] -python2-ndg_httpsclient [platform:fedora] -python-ndg-httpsclient [platform:suse] - # Required for compressing collected log files in CI gzip diff --git a/run_tests.sh b/run_tests.sh index e8f6f3a..4b72d3f 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -40,8 +40,7 @@ install_pkg_deps() { case ${ID,,} in *suse*) pkg_mgr_cmd="zypper -n in" ;; - centos|rhel) pkg_mgr_cmd="${RHT_PKG_MGR} install -y" ;; - fedora) pkg_mgr_cmd="dnf -y install" ;; + centos|rhel|fedora) pkg_mgr_cmd="${RHT_PKG_MGR} install -y" ;; ubuntu|debian) pkg_mgr_cmd="apt-get install -y" ;; *) echo "unsupported distribution: ${ID,,}"; exit 1 ;; esac @@ -49,24 +48,12 @@ install_pkg_deps() { eval sudo $pkg_mgr_cmd $pkg_deps } -git_clone_repo() { - if [[ ! -d tests/common ]]; then - # The tests repo doesn't need a clone, we can just - # symlink it. - if [[ "$(basename ${WORKING_DIR})" == "openstack-ansible-tests" ]]; then - ln -s ${WORKING_DIR} ${WORKING_DIR}/tests/common - else - git clone \ - https://git.openstack.org/openstack/openstack-ansible-tests \ - tests/common - fi - fi -} - +# Install the host distro package dependencies install_pkg_deps -git_clone_repo +# Clone the tests repo for access to the common test script +source tests/tests-repo-clone.sh -# start executing the main test script +# Execute the common test script source tests/common/run_tests_common.sh diff --git a/tests/tests-repo-clone.sh b/tests/tests-repo-clone.sh index 9c793c5..3e4ffd6 100755 --- a/tests/tests-repo-clone.sh +++ b/tests/tests-repo-clone.sh @@ -33,6 +33,7 @@ set -e export TESTING_HOME=${TESTING_HOME:-$HOME} export WORKING_DIR=${WORKING_DIR:-$(pwd)} export CLONE_UPGRADE_TESTS=${CLONE_UPGRADE_TESTS:-no} +export ZUUL_TESTS_CLONE_LOCATION="/home/zuul/src/git.openstack.org/openstack/openstack-ansible-tests" ## Functions ----------------------------------------------------------------- @@ -52,7 +53,11 @@ EOF # If zuul-cloner is present, use it so that we # also include any dependent patches from the # tests repo noted in the commit message. -if [[ -x /usr/zuul-env/bin/zuul-cloner ]]; then +# We only want to use zuul-cloner if we detect +# zuul v2 running, so we check for the presence +# of the ZUUL_REF environment variable. +# ref: http://git.openstack.org/cgit/openstack-infra/zuul/tree/zuul/ansible/filter/zuul_filters.py?h=feature/zuulv3#n17 +if [[ -x /usr/zuul-env/bin/zuul-cloner ]] && [[ "${ZUUL_REF:-none}" != "none" ]]; then # Prepare the clonemap for zuul-cloner to use create_tests_clonemap @@ -74,9 +79,22 @@ if [[ -x /usr/zuul-env/bin/zuul-cloner ]]; then elif [[ ! -d tests/common ]]; then # The tests repo doesn't need a clone, we can just - # symlink it. - if [[ "$(basename ${WORKING_DIR})" == "openstack-ansible-tests" ]]; then + # symlink it. As zuul v3 clones into a folder called + # 'workspace' we have to use one of its environment + # variables to determine the project name. + if [[ "${ZUUL_SHORT_PROJECT_NAME:-none}" == "openstack-ansible-tests" ]] ||\ + [[ "$(basename ${WORKING_DIR})" == "openstack-ansible-tests" ]]; then ln -s ${WORKING_DIR} ${WORKING_DIR}/tests/common + + # In zuul v3 any dependent repository is placed into + # /home/zuul/src/git.openstack.org, so we check to see + # if there is a tests checkout there already. If so, we + # symlink that and use it. + elif [[ -d "${ZUUL_TESTS_CLONE_LOCATION}" ]]; then + ln -s "${ZUUL_TESTS_CLONE_LOCATION}" ${WORKING_DIR}/tests/common + + # Otherwise we're clearly not in zuul or using a previously setup + # repo in some way, so just clone it from upstream. else git clone \ https://git.openstack.org/openstack/openstack-ansible-tests \ @@ -92,7 +110,7 @@ fi # tests repo are not supported. if [[ "${CLONE_UPGRADE_TESTS}" == "yes" ]]; then if [[ ! -d "${WORKING_DIR}/tests/common/previous" ]]; then - git clone -b stable/ocata \ + git clone -b stable/pike \ https://git.openstack.org/openstack/openstack-ansible-tests \ ${WORKING_DIR}/tests/common/previous fi