Commit graph

288 commits

Author SHA1 Message Date
Toshio Kuratomi
f7b22a5eaa Fix paramiko's exec_command() to return bytes on python3 (#17372)
* Fix paramiko's exec_command() to return bytes on python3

* Run test_connection for python3 now too

* Fix atomic_move for problem in shippable's testing

* Python-2.4 needs to use b()
2016-09-02 20:32:14 -07:00
Matt Clay
75cb27ffe3 Enable more python 3 tests that now pass. (#17359) 2016-09-01 15:30:58 -07:00
Matt Clay
2ffb136b3f Add support for testing module PRs with python3. (#17339) 2016-08-31 16:41:00 -07:00
Matt Clay
6e65ebda26 Put integration.sh pip reqs in separate file. (#17338) 2016-08-31 15:16:15 -07:00
Matt Davis
1c33b5a9f0 fix remote shippable target failures (#17287)
cryptography upgrade caused fatal error when pycrypto was not installed
2016-08-29 14:01:25 -07:00
Toshio Kuratomi
4a3a9c0f2d Fix for run_command on py3 and enable lineinfile test on py3 (#17257)
* run_command needed a bit of tweaking to its string handling of
  arguments.
* The run_command change fixes the last bit of lineinfile so we can
  enable its tests
2016-08-26 01:30:46 -07:00
Matt Clay
178292d2cd Fix file and copy modules on py3 and enable tests. (#17239)
- Fix octal formatting of file mode in module response on py3.
- Convert file path to unicode in copy action.
- Enable file and copy module tests for py3 now that they pass.
2016-08-25 07:44:31 -07:00
Matt Clay
acc8a13eff Enable more tests that pass on python 3. (#17233) 2016-08-24 17:18:39 -07:00
Toshio Kuratomi
380a5801e9 Enable integration tests on python3 that are already working (#17212) 2016-08-24 16:41:05 -07:00
Matt Clay
e2e7390adc Add Python 3 CI support. (#17209) 2016-08-23 23:08:11 -07:00
Matt Clay
a695e18615 Add support for OS X CI on Shippable. (#17160) 2016-08-23 10:49:46 -07:00
Matt Clay
04bd6a3619 Make tests more cross platform. (#17154) 2016-08-19 10:23:14 -07:00
Brian Coca
4fb09d5693 moved from extras repo where it incorrectly exists (#17124)
* moved from extras repo where it incorrectly exists

* added to sanity exclusion for 2.4

* changed license with author's consent
2016-08-18 09:47:21 -04:00
Matt Clay
b44eb402bd Update ansible-core-ci endpoint. (#17071) 2016-08-12 12:07:41 -07:00
Matt Clay
901042f458 Generate test script to file instead of stdout. 2016-08-11 15:42:43 -07:00
Matt Clay
2b0d63b0d8 Flush stderr to avoid lost output. 2016-08-11 15:14:22 -07:00
Matt Clay
80385a47bd Remove FreeBSD interpreter test hacks. (#17007)
* Add TEST_FLAGS to no_log target.
2016-08-08 13:10:03 -07:00
Filipe Niero Felisbino
e54a9d3a51 Add generic data structures querying (#13684)
* Query lookup plugin

* Add license and docstrings

* Add python3-ish imports

* Change query plugin type from lookup to filter

* Switch from dq to jsonpath_rw

* Add integration test for query filter

* Rename query filter to json_query

* Add jsonpath-rw

* Rename query filter to json_query

* Switch query implementation from jsonpath-rw to jmespath
2016-08-08 11:55:59 -04:00
Matt Clay
d2fb845955 Enable more FreeBSD integration tests. (#16991) 2016-08-08 00:31:04 -07:00
Matt Clay
72cca01cd4 Use file list, not recursion, in _fixup_perms. (#16924)
Run setfacl/chown/chmod on each temp dir and file.

This fixes temp file permissions handling on platforms such as FreeBSD
which always return success when using find -exec. This is done by
eliminating the use of find when setting up temp files and directories.

Additionally, tests that now pass on FreeBSD have been enabled for CI.
2016-08-05 18:40:28 -07:00
Matt Clay
5f12731797 Run more integration tests on FreeBSD. (#16923) 2016-08-02 14:00:56 -07:00
Matt Clay
17e4629d52 Add remote CI support for modules. (#16908) 2016-08-01 15:39:17 -07:00
Matt Clay
e2602e9be0 Add FreeBSD to Shippable CI. (#16883) 2016-08-01 13:46:37 -07:00
Matt Clay
380ed053e8 Add Windows integration tests to Shippable. (#16803)
Enable Windows integration tests on Shippable.
2016-07-28 21:03:14 -07:00
William Albert
409d95d67e 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 12:54:39 -04:00
Gennady Trafimenkov
ad24f2d206 Enable color output from integration tests in Docker containers (#16660)
Enable color output from integration tests in Docker containers:

* In run_tests.sh when output is attached to a terminal.
* In shippable/integration.sh using force mode (can be disabled).

Also fix blocks tests to work with or without color output
2016-07-25 14:07:15 -07:00
Matt Clay
9497a814a8 Add apache2 to improve test speed and reliability. (#16819) 2016-07-25 07:19:49 -07:00
Matt Clay
4cc4dc6793 Add postgresql dependencies to opensuseleap. 2016-07-18 16:55:10 -04:00
Matt Clay
fdf22b5a40 Support module tests on a single image. (#16620) 2016-07-06 23:37:56 -07:00
Matt Clay
696feacbb6 Add script to generate module tests. (#16617) 2016-07-06 20:07:33 -07:00
Matt Clay
fbfadc47c7 Update shippable shared dir for COPY_SOURCE. (#16511)
Tests now use '/shared' instead of '/tmp/shared-dir' when using
COPY_SOURCE. This avoids issues with containers purging '/tmp'.
2016-06-29 15:09:40 -07:00
Matt Clay
f1e1558f4f Unpin yamllint now that version 1.3.2 is out. (#16479)
The newer version of yamllint fixes the UnicodeEncodeError
which previously required pinning the version to 1.2.2.
2016-06-28 11:40:14 -07:00
Matt Clay
81a49912b0 Pin yamllint to 1.2.2 to avoid issues in 1.3.0. (#16464)
This also moves shippable test requirements to external files.
2016-06-27 16:34:19 -07:00
Matt Clay
1b29c87936 Test ansible version and ping during sanity tests. (#16441) 2016-06-24 19:32:54 -07:00
Matt Clay
8a55a446bf Fix fedora23 Dockerfile after fedora:23 updates. 2016-06-22 19:21:40 -07:00
Pilou
7ffbbd34f4 Add python-passlib to docker images. (#16376)
Related to #16361
2016-06-22 13:30:10 -07:00
Matt Clay
7de23a1c5b Update opensuseleap Dockerfile.
- Do not update base image packages unnecessarily.
- Fix incorrect package names.
- Remove commented out RUN statements.
- Sort list of packages to install.
2016-06-21 17:46:30 -07:00
Matt Clay
cabbafb650 Update Fedora and CentOS docker images.
- Reduce image size by skipping weak package references.
- Consolidate and sort packages to install.
- Improve consistency between versions.
- Combine yum/dnf install and clean to avoid unwanted caching.
- Don't update existing packages from base image unnecessarily.
2016-06-14 16:15:49 -07:00
Matt Clay
82b978e186 Add curl to Ubuntu docker images. 2016-06-13 20:06:26 -07:00
Matt Clay
349b06974e Update Ubuntu docker images.
- Reduce image size by skipping recommended packages.
- Consolidate and sort packages to install.
- Improve consistency between Ubuntu versions.
- Combine apt-get update and install to avoid caching stale updates.
2016-06-13 19:13:44 -07:00
Matt Clay
2f1fc5a324 Update integration test runner on shippable. 2016-06-13 18:06:55 -07:00
Matt Clay
62e6f6b885 Add junit-xml to docker images. 2016-06-13 15:06:51 -07:00
Matt Clay
03597143d0 Detect use of Travis tests on Shippable.
This can occur when building pre-Shippable branches or PRs.
2016-06-06 13:36:21 -07:00
Adrien Vergé
4d48711242 Fix YAML source and check it on Shippable (#15678)
Fix YAML source and check it on Shippable
2016-06-04 10:58:17 -07:00
Matt Clay
6d74f43eff Update how shippable scripts are called. 2016-06-03 09:20:33 -07:00
Matt Clay
b0e1efbd62 Add full support for Shippable CI. 2016-06-01 22:33:38 -07:00
Robin Roth
c06884eff0 Run tests on ubuntu1604 and opensuseleap (#15936)
* reduce async sleep time in test
* make zypper test less destructive (don't break following uses of zypper)
* fix ca cert on suse
* fix/enable postgres/mysql on opensuseleap
* fix mysql test for mysql versions 5.7.6 and newer
* skip sni_host check on ubuntu1604
* add HTTPTESTER flag for test_uri

ubuntu 16.04 uses dash which drops env variables containing a dot
we work around this by adding an explicit env variable to enable httptester
2016-05-31 14:47:36 -07:00
Matt Clay
b755bcd875 Corrected reference to httptester container. 2016-05-26 12:39:57 -07:00
Matt Martz
164f247ec8 Add httptester docker container files and update run_tests.sh to use ansible/httptester 2016-05-26 13:09:28 -05:00
Robin Roth
0edec45c3d install packages for tests (#15979)
* curl is needed for test_binary_modules
* glibc-i18ndata is needed for postgresql (localedef)
2016-05-24 08:22:34 -07:00
John R Barker
1861151fa4 [WIP] Extra test and build dependencies in Docker images (#15692)
* Merge conflicts:

* [skip ci] Revert changes to run_tests.sh

gundalow will update this in a different PR

* [skip ci] Add in ubuntu1604 and opensuseleap

NOTE: We are not configuring anything to use these new images yet.
Therefore no impact on Travis performance

* python-mysql for opensuse

* It's mysql-server on centos6
2016-05-20 07:37:06 -07:00
Michael Scherer
cc61531a74 Do not test vca and vmware.py for py2.4 (#15887)
Since both of them depend on libraries not
working on python 2.4, we shouldn't restrict
ourself on 2.4, cf https://github.com/ansible/ansible/pull/15870
2016-05-16 10:51:48 -04:00
Matt Martz
accf40d8a8 Use httptester docker image for http tests (#15811)
* Use httptester docker image for http tests

* When not running with an httptester linked container, use public test sites
2016-05-10 23:43:07 -04:00
Brian Coca
2af8e3b9d8 fix default for removing images 2016-05-05 16:00:02 -04:00
Brian Coca
27a1ae4732 added ability to also subset make tests 2016-05-05 11:50:39 -04:00
Brian Coca
47d58c30e4 another var 'defaulted' in run_tests 2016-05-03 11:25:21 -04:00
Brian Coca
3669ab2456 added defaults for 'optional' vars 2016-05-03 10:38:54 -04:00
Brian Coca
52a714143f fine tuned shell switches for run_tests.sh 2016-05-03 09:39:19 -04:00
Toshio Kuratomi
e4a1622f53 Do not check docker or azure module_utils code for py2.4 compat (the libs require py2.6+) 2016-04-26 07:21:36 -07:00
James Cammarata
d00ac6e2d1 Merge pull request #15072 from rajatguptarg/fix-requirements
Add pycrypto as a requirement to run tests
2016-03-26 00:39:01 -04:00
Matt Martz
a6d52ce098 Ensure that any command in run_tests.sh that fails results in immediate failure 2016-03-22 20:41:37 -05:00
James Cammarata
6afed7083a Revert "Use docker cp instead of docker volumes to allow for testing with remote docker servers"
This reverts commit 18599047cd.
2016-03-22 15:37:47 -04:00
James Cammarata
90ffb8d8f0 Also remove volumes when removing containers 2016-03-22 13:53:54 -04:00
James Cammarata
9a2c1cf94d Force removal of docker container after test ends 2016-03-22 11:45:26 -04:00
Matt Martz
18599047cd Use docker cp instead of docker volumes to allow for testing with remote docker servers 2016-03-22 10:54:57 -04:00
James Cammarata
081c33c451 Adding a docker pull to the run_tests.sh script 2016-03-22 09:49:19 -04:00
James Cammarata
395ff361d4 Adding acl package to all docker images 2016-03-22 07:54:13 -04:00
Rajat Gupta
dd27157b9d Add pycrypto as a requirement to run tests 2016-03-21 21:37:18 +05:30
Matt Clay
4224c11b5f Combine new RUN commands into one RUN command. 2016-03-20 10:48:11 -07:00
Matt Clay
da99e4e0aa Add ssh client and server to docker containers.
This will allow for future integration tests using ssh to localhost
from within docker containers running on Travis.
2016-03-19 21:33:23 -07:00
Toshio Kuratomi
bdf90d20dd Add :Z to mount the volume. This is a docker-1.7+ option that makes the mount properly relabel for selinux 2016-03-18 07:47:09 -07:00
James Cammarata
88310a7f28 Adding iproute to certain RH-based docker images 2016-03-15 15:28:22 -04:00
James Cammarata
2fa1936ff9 Adding python-dev to the list of packages for ubuntu1204 docker
[ci skip]
2016-03-13 09:21:47 -04:00
James Cammarata
9d459386ce Also adding an upgrade of pycrypto to ubuntu1204 config 2016-03-13 09:14:15 -04:00
James Cammarata
90afc5e7d2 Adding rubygems to the ubuntu1204 docker config
[no ci]
2016-03-13 08:50:21 -04:00
James Cammarata
af282eb979 Fixing typo in ubuntu1204 docker config 2016-03-13 08:31:47 -04:00
James Cammarata
ff5584a349 Updating jinja2 in ubuntu1204 docker image 2016-03-13 08:27:52 -04:00
James Cammarata
1222830155 Initial commit for Ubuntu 12.04 docker config for testing 2016-03-13 03:19:47 -04:00
James Cammarata
286d91d722 Reorganizing tox stuff and making py3-specific requirements 2016-03-11 11:25:28 -05:00
James Cammarata
ab682b2917 Moving docker tests to pre-compiled images 2016-03-10 21:52:23 -05:00
James Cammarata
c6af811573 Fixing equality check in run_tests.sh for sanity 2016-03-10 15:34:06 -05:00
Brian Coca
7e3c92e909 predictable docker names and autoremove if no fail 2016-03-10 15:07:17 -05:00
James Cammarata
f700a7e3ce Removing forced pull from build step in run_tests.sh 2016-03-10 14:07:58 -05:00
Brian Coca
a07495e4c8 allow tests to run with parameters
also fixed test_test_infra to allow tags
2016-03-10 10:50:14 -05:00
James Cammarata
8cfdaa16f4 Fixing error in localedef usage for f23 docker image 2016-03-06 11:07:27 -05:00
James Cammarata
0e17a6f036 Another attempt at fixing random f23 locale failures in docker image 2016-03-06 09:56:31 -05:00
James Cammarata
2ee0c1b175 Fixing centos6 docker image for pycrytpo too 2016-03-06 08:09:30 -05:00
James Cammarata
762c99f77c Fixing centos6 docker image to upgrade jinja2 2016-03-06 07:49:00 -05:00
James Cammarata
56670bd150 More tweaks for fedora on docker 2016-03-05 18:36:41 -05:00
James Cammarata
b97a98f69e Trying to fix up the fedora23 docker image 2016-03-05 15:45:37 -05:00
James Cammarata
b72cd3a6d2 Adding fedora rawhide to the travis mix 2016-03-05 14:35:49 -05:00
James Cammarata
c632873936 Adding centos 6 to the travis mix 2016-03-05 13:47:23 -05:00
James Cammarata
e5844ee03d Revert "Testing adding -j2 to the run_tests.sh script to speed up docker tests"
This reverts commit db2a0ae255, as it does not
add any speed to the tests on Travis.
2016-03-05 11:50:10 -05:00
James Cammarata
db2a0ae255 Testing adding -j2 to the run_tests.sh script to speed up docker tests 2016-03-05 10:58:30 -05:00
James Cammarata
981f451f0e Adding fedora 23 to the Docker tests on travis 2016-03-04 14:02:13 -05:00
James Cammarata
7f34705b0c Fixing up Dockerfiles some more to get tests passing fully 2016-03-04 09:16:28 -05:00
James Cammarata
fa630872d9 Minor update to the Dockerfiles 2016-03-04 02:48:44 -05:00
James Cammarata
069e597aaa Fixing locale stuff in ubuntu 14.04 Dockerfile 2016-03-03 22:29:21 -05:00
James Cammarata
f56af2ec3f Updating docker files for tests 2016-03-03 21:03:28 -05:00
James Cammarata
e4acd44e23 Make sure test script fails on any error 2016-03-03 20:44:13 -05:00
Matt Martz
d8876b5c03 Run /sbin/init in the ubuntu docker image, as we do with centos 2016-03-03 16:45:47 -06:00
James Cammarata
92dcad8e99 Adding docker container capabilities to Travis 2016-03-03 15:26:08 -05:00
Brian Coca
ba51ed06cf changed from deprecated implicit bare var 2016-02-08 13:05:19 -05:00
James Cammarata
d22bbbf52c Actually disable parallel makes for integration runner 2015-12-21 16:11:53 -05:00
James Cammarata
8119ea37af Dropping instance size back down since we're not doing parallel builds 2015-12-21 15:55:43 -05:00
James Cammarata
45afa642c3 Integration test runner tweaks 2015-12-21 15:48:58 -05:00
James Cammarata
6d6822e66e Kick up the integration runner test image size 2015-12-21 14:37:17 -05:00
James Cammarata
08b580decc Parallelize make command for integration test runner
Also adds a new var, used by the prepare_tests role, to prevent it from
deleting the temp test directory at the start of each play to avoid any
potential race conditions
2015-12-21 14:10:23 -05:00
James Cammarata
3a57d9472c Save output of integration test results to files we can archive 2015-12-20 17:55:39 -05:00
Toshio Kuratomi
5fef2c4297 Try updating the centos7 image to a newer version (trying to resolve issue being unable to connect to some webservers) 2015-12-20 09:11:53 -08:00
Toshio Kuratomi
3da312da9c Switch from yum to package when installing sudo so that dnf is handled as well 2015-12-19 23:13:11 -08:00
James Cammarata
3ec0104128 Fixing bugs in conditional testing with until and some integration runner tweaks 2015-12-19 21:14:48 -05:00
Toshio Kuratomi
51cca87d67 Also need redhat-rpm-config to compile pycrypto 2015-12-19 11:27:16 -08:00
Toshio Kuratomi
c63ae99485 Make sure that yum is present on redhat family systems (makes things also work on fedora systems where dnf is the default) 2015-12-19 10:11:42 -08:00
Toshio Kuratomi
f7ed33378e Fix the fedora host detection 2015-12-18 15:42:41 -08:00
Toshio Kuratomi
78dde62710 What is going on here 2015-12-18 15:14:38 -08:00
Toshio Kuratomi
26e5bcdb39 Bugfix the fedora 23 install task 2015-12-18 14:38:54 -08:00
Toshio Kuratomi
ec60bfbb3f Ubuntu images with hvm ssd 2015-12-18 14:36:17 -08:00
Toshio Kuratomi
68fe3d856f Fedora 23 needs to have python2 packages installed 2015-12-18 14:05:33 -08:00
James Cammarata
0823a2c16f Removing update all for test deps, it didn't fix the problem 2015-12-18 15:34:11 -05:00
James Cammarata
02f65eaa80 Make integration runner ec2 add_hosts use valid host names 2015-12-18 14:59:22 -05:00
James Cammarata
73a0153b8e Fix typo in integration test runner role 2015-12-18 12:45:12 -05:00
James Cammarata
0c154e81f0 Make integration tests run in parallel with async 2015-12-18 11:30:51 -05:00
Toshio Kuratomi
f2364ecf5f Add a Fedora latest host into the mix 2015-12-18 08:13:22 -08:00
James Cammarata
1debc2da44 Do a full yum update to make sure packages are latest version
For the deps setup of integration tests, as we sometimes see odd
errors we can't reproduce, which may be related to slightly out of
date package dependencies.
2015-12-18 10:34:27 -05:00
James Cammarata
44e30e49dd Add awk to integration test deps list 2015-12-18 07:47:40 -05:00
Toshio Kuratomi
a391d6f89a Add state=latest to pip install of pycrypto 2015-12-17 20:10:26 -08:00
James Cammarata
3143b352c5 Add ca-certificates update to the integration deps playbook 2015-12-17 23:08:04 -05:00
Toshio Kuratomi
1f3eec293b Install an updated version of pycrypto on Ubuntu12 from pip 2015-12-17 20:06:53 -08:00
James Cammarata
26bbabcfba Consolidating package lines for virtualenv install in test deps integration 2015-12-17 11:15:06 -05:00
James Cammarata
cf3d503f79 Moving apt cache update to top to ensure cache is updated before deps installed 2015-12-17 11:00:54 -05:00
James Cammarata
0b1ad8d490 Switch virtualenv dep installation from pip to package manager 2015-12-17 10:41:58 -05:00
James Cammarata
dd3d04e96a Adding pip install of virtualenv to test deps integration role 2015-12-17 10:31:14 -05:00
Chris Meyers
8d66dcda21 remove .gitignore 2015-12-09 09:39:45 -05:00
Chris Meyers
f16628ffec symbolic link role for testing 2015-12-09 09:37:39 -05:00
Chris Meyers
57391f49ba removed ansible_python_interpreter
* added missed renames of ansible_deps to ansible_test_deps
* removed acidential inventory.dynamic file
* modified README for ansible_test_deps role
2015-12-09 07:52:43 -05:00
Chris Meyers
822624d061 rename role ansible_deps to ansible_test_deps 2015-12-08 14:05:57 -05:00
Chris Meyers
05c8bb79f8 playbook that Ansible jenkins runs moved into core
The playbook is already running in jenkins and works. This moves the
assets into core for ease of maintenance going forward.
2015-12-08 12:24:42 -05:00