b510abce17
* Added aws_retry decorator function with unit tests * Restructured the code to be used with a base class. This base class CloudRetry can be reused by any other cloud provider. This decorator should be used in situations, where you need to implement a backoff algorithm and want to retry based on the status code from the exception. * updated documentation * fixed tabs * added botocore and boto3 to requirements.txt * removed cloud.py from py24 tests, as it depends on boto3 * fix relative imports * updated test to be 2.6 compat * updated method name from retry to backoff * readded lxd * Updated default backoff from 2 seconds to 1.1s. This will be about a total of 48 seconds in 10 tries. This is configurable.
37 lines
1.2 KiB
Bash
Executable file
37 lines
1.2 KiB
Bash
Executable file
#!/bin/bash -eux
|
|
|
|
source_root=$(python -c "from os import path; print(path.abspath(path.join(path.dirname('$0'), '../../..')))")
|
|
|
|
install_deps="${INSTALL_DEPS:-}"
|
|
|
|
cd "${source_root}"
|
|
|
|
if [ "${TOXENV}" = 'py24' ]; then
|
|
if [ "${install_deps}" != "" ]; then
|
|
add-apt-repository ppa:fkrull/deadsnakes && apt-get update -qq && apt-get install python2.4 -qq
|
|
fi
|
|
|
|
python2.4 -V
|
|
python2.4 -m compileall -fq -x 'module_utils/(a10|rax|openstack|cloud|ec2|gce|lxd|docker_common|azure_rm_common|vca|vmware|gcp|gcdns).py' lib/ansible/module_utils
|
|
else
|
|
if [ "${install_deps}" != "" ]; then
|
|
pip install -r "${source_root}/test/utils/shippable/sanity-requirements.txt" --upgrade
|
|
pip list
|
|
fi
|
|
|
|
xunit_dir="${source_root}/shippable/testresults"
|
|
coverage_dir="${source_root}/shippable/codecoverage"
|
|
|
|
mkdir -p "${xunit_dir}"
|
|
mkdir -p "${coverage_dir}"
|
|
|
|
xunit_file="${xunit_dir}/nosetests-xunit.xml"
|
|
coverage_file="${coverage_dir}/nosetests-coverage.xml"
|
|
|
|
TOX_TESTENV_PASSENV=NOSETESTS NOSETESTS="nosetests --with-xunit --xunit-file='${xunit_file}' --cover-xml --cover-xml-file='${coverage_file}'" tox
|
|
|
|
source hacking/env-setup
|
|
python --version
|
|
ansible --version
|
|
ansible -m ping localhost
|
|
fi
|