2016-06-02 04:08:14 +00:00
|
|
|
#!/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
|
Refactored gce util module to support other GCP services (#15924)
This is a refactoring of the existing GCE utility module to support other projects on Google Cloud Platform.
The previous gce.py module was hard-coded specifically for GCE, and attempting to use it with other projects in GCP failed.
See https://github.com/ansible/ansible/pull/15918#issuecomment-220165913 for more detail.
This has also been an issue for others in the past, although they've handled it by simply
duplicating some of the logic of gce.py in their own modules.
- The existing gce.py module was renamed to gcp.py, and modified to remove any
imports or other code that refers to libcloud.compute or GCE (the GCE_* params were
retained for compatibility). I also renamed the gce_connect function to gcp_connect,
and modified the function signature to make supplying a provider, driver, and agent
information mandatory.
- A new gce.py module was created to handle connectivity to GCE. It imports the
appropriate libcloud.compute providers and drivers, and then passes them on
to gcp_connect in gcp.py. The constants and function signatures are the same
as the old gce.py, so compatibility with existing modules is retained.
- A new gcdns.py module was created to support PR ansible/ansible-modules-extras#2252
for two new Google Cloud DNS modules, and to demonstrate support for a non-GCE
Google Cloud service. It follows the same basic structure as the new gce.py module,
but imports from libcloud.dns instead.
2016-07-28 16:54:39 +00:00
|
|
|
python2.4 -m compileall -fq -x 'module_utils/(a10|rax|openstack|ec2|gce|docker_common|azure_rm_common|vca|vmware|gcp|gcdns).py' lib/ansible/module_utils
|
2016-06-02 04:08:14 +00:00
|
|
|
else
|
|
|
|
if [ "${install_deps}" != "" ]; then
|
2016-06-27 23:34:19 +00:00
|
|
|
pip install -r "${source_root}/test/utils/shippable/sanity-requirements.txt" --upgrade
|
2016-06-25 02:32:54 +00:00
|
|
|
pip list
|
2016-06-02 04:08:14 +00:00
|
|
|
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
|
2016-06-25 02:32:54 +00:00
|
|
|
|
|
|
|
source hacking/env-setup
|
|
|
|
python --version
|
|
|
|
ansible --version
|
|
|
|
ansible -m ping localhost
|
2016-06-02 04:08:14 +00:00
|
|
|
fi
|