diff --git a/bindep.txt b/bindep.txt index a145f8b4..931e963d 100644 --- a/bindep.txt +++ b/bindep.txt @@ -10,17 +10,29 @@ # will fall back to installing its default packages which # will potentially be detrimental to the tests executed. -# OpenStack-CI's Jenkins needs curl -# TODO(odyssey4me) remove this once https://review.openstack.org/288634 has merged -# and the disk images are rebuilt and redeployed. -curl -wget - -# Requirements for Paramiko 2.0 +# Base requirements for Ubuntu +build-essential [platform:dpkg] +git-core [platform:dpkg] libssl-dev [platform:dpkg] libffi-dev [platform:dpkg] +python2.7 [platform:dpkg] +python-dev [platform:dpkg] + +# Base requirements for CentOS +gcc [platform:rpm] +gcc-c++ [platform:rpm] +git [platform:rpm] +python-devel [platform:rpm] libffi-devel [platform:rpm] openssl-devel [platform:rpm] -# For selinux +# For SELinux libselinux-python [platform:rpm] + +# For SSL SNI support +python-pyasn1 [platform:dpkg] +python-openssl [platform:dpkg] +python-ndg-httpsclient [platform:ubuntu !platform:ubuntu-trusty] +python2-pyasn1 [platform:rpm] +pyOpenSSL [platform:rpm] +python-ndg_httpsclient [platform:rpm] diff --git a/run_tests.sh b/run_tests.sh index 40cb7ffe..0a49aa3e 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -17,23 +17,31 @@ set -euov FUNCTIONAL_TEST=${FUNCTIONAL_TEST:-true} -# prep the host -if [ "$(which apt-get)" ]; then - apt-get install -y build-essential python2.7 python-dev git-core libssl-dev libffi-dev -fi - -if [ "$(which yum)" ]; then - yum install -y '@Development Tools' python-devel git libffi-devel openssl-devel -fi - -# get pip, if necessary +# Install pip if [ ! "$(which pip)" ]; then curl --silent --show-error --retry 5 \ https://bootstrap.pypa.io/get-pip.py | sudo python2.7 fi -# install tox -pip install tox +# Install bindep and tox +pip install bindep tox + +# CentOS 7 requires two additional packages: +# redhat-lsb-core - for bindep profile support +# epel-release - required to install python-ndg_httpsclient/python2-pyasn1 +if [ "$(which yum)" ]; then + yum -y install redhat-lsb-core epel-release +fi + +# Install OS packages using bindep +if apt-get -v >/dev/null 2>&1 ; then + apt-get update + DEBIAN_FRONTEND=noninteractive \ + apt-get -q --option "Dpkg::Options::=--force-confold" \ + --assume-yes install `bindep -b -f bindep.txt test` +else + yum install -y `bindep -b -f bindep.txt test` +fi # run through each tox env and execute the test for tox_env in $(awk -F= '/envlist/ {print $2}' tox.ini | sed 's/,/ /g'); do