Commit graph

478 commits

Author SHA1 Message Date
Jordan Borean
0334c20630
Add Windows Server 2019 to Shippable matrix (#51685)
* Test out Server 2019 - ci_complete

* run tests and continue on error - ci_complete

* Add the full matrix back in
2019-02-08 10:38:52 +10:00
Guillaume Martinez
959939b866 Refactor gitlab modules (#51141)
* gitlab_group: refactor module

* gitlab_user: refactor module

* gitlab_group, gitlab_user; pylint

* gitlab_project: refactor module

* gitlab_group, gitlab_project, gitlab_user: Enchance modules

- Add generic loop to update object
- Enchance return messages
- PyLint

* gitlab_runner: refactor module

* gitlab_hooks: refactor module

* gitlab_deploy_key: refactor module

* gitlab_group: enchance module and documentation

- Enchange function arguments
- Add check_mode break
- Rewrite module documentation

* gitlab_hook: enchance module and documentation

- Rewrite documentation
- Enchance function parameters
- Rename functions

* gitlab_project: enchance module and documentation

- Rewrite documentation
- Enchance function parameters
- Add try/except on project creation

* gitlab_runner: enchance module and documentation

- Rewrite documentation
- Fix Copyright
- Enchance function arguments
- Add check_mode break
- Add missing function: deletion

* gitlab_user: enchance module and documentation

- Rewrite documentation
- Enchance function parameters
- Add check_mode break
- Add try/except on user creation

* gitlab_deploy_key, gitlab_group, gitlab_hooks, gitlab_project,
gitlab_runner, gitlab_user: Fix residual bugs

- Fix Copyright
- Fix result messages
- Add missing check_mode break

* gitlab_deploy_key, gitlab_group, gitlab_hooks, gitlab_project, gitlab_runner, gitlab_user: pylint

* gitlab_runner: Add substitution function for 'cmp' in python3

* unit-test: remove deprecated gitlab module tests

- gitlab_deploy_key
- gitlab_hooks
- gitlab_project

Actually, they can't be reused because of the modification of the way that the module communicate with the Gitlab instance. It doesn't make direct call to the API, now it use a python library that do the job. So using a pytest mocker to test the module won't work.

* gitlab_deploy_key, gitlab_group, gitlab_hooks, gitlab_project, gitlab_runner, gitlab_user: add copyright

* gitlab_deploy_key, gitlab_group, gitlab_hooks, gitlab_project, gitlab_runner, gitlab_user: Support old parameters format

* module_utils Gitlab: Edit copyright

* gitlab_deploy_key, gitlab_group, gitlab_hooks, gitlab_project,
gitlab_runner, gitlab_user: Unifying module inputs

- Rename verify_ssl into validate_certs to match standards
- Remove unused alias parameters
- Unify parameters type and requirement
- Reorder list order

* gitlab_deploy_key, gitlab_group, gitlab_hooks, gitlab_project, gitlab_runner, gitlab_user: Unifying module outputs

- Use standard output parameter "msg" instead of "return"
- Use snail_case for return values instead of camelCase

* validate-module: remove sanity ignore

* BOTMETA: remove gitlab_* test

- This tests need to be completely rewriten because of the refactoring
of these modules
- TodoList Community Wiki was updated

* gitlab_user: Fix group identifier

* gitlab_project: Fix when group was empty

* gitlab_deploy_key: edit return msg

* module_utils gitlab: fall back to user namespace is project not found

* gitlab modules: Add units tests

* unit test: gitlab module fake current user

* gitlab_user: fix access_level verification

* gitlab unit tests: use decoration instead of with statement

* unit tests: gitlab module skip python 2.6

* unit tests: gitlab module skip library import if python 2.6

* gitlab unit tests: use builtin unittest class

* gitlab unit tests: use custom test class

* unit test: gitlab module lint

* unit tests: move gitlab utils

* unit test: gitlab fix imports

* gitlab_module: edit requirement

python-gitlab library require python >= 2.7

* gitlab_module: add myself as author

* gitlab_modules: add python encoding tag

* gitlab_modules: keep consistency between variable name "validate_certs"

* gitlab_modules: enchance documentation

* gitlab_runner: fix syntax error in documentation

* gitlab_module: use basic_auth module_utils and add deprecation warning

* gitlab_module: documentation corrections

* gitlab_module: python lint

* gitlab_module: deprecate options and aliases for ansible 2.10

* gitlab_group: don't use 'local_action' is documentation example

* gitlab_module: correct return messages

* gitlab_module: use module_util 'missing_required_lib' when python library is missing

* gitlab_module: fix typo in function name.

* gitlab_modules: unify return msg on check_mode

* gitlab_modules: don't use deprecated options in examples
2019-02-07 20:40:14 +01:00
Matt Clay
06d83bae05 Support ignore_changes in code-smell tests. 2019-02-05 15:21:01 -08:00
Jordan Borean
ce8db479f0
ansible-test: make the httptester for Windows more resiliant around the shell chosen (#51416) 2019-01-30 07:50:23 +10:00
Matt Clay
215b27eb10 Enable paramiko connection tests on RHEL 8.0. 2019-01-24 19:57:35 -08:00
Zim Kalinowski
db37be66fe
updating azure compute mgmt package to the latest version (#51259) 2019-01-24 18:59:40 +08:00
Brian Coca
96b3ef5553
Doc fragments to plugins (#50172)
* promote doc_fragments into actual plugins

  change tests hardcoded path to doc fragments
  avoid sanity in fragments
  avoid improper testing of doc_fragments
  also change runner paths
 fix botmeta
 updated comment for fragments
 updated docs
2019-01-23 20:03:47 -05:00
Zim Kalinowski
4041f02389
adding devtestlabs (#50961) 2019-01-24 08:03:16 +08:00
Jordan Borean
828df4b336
ansible-test: add Ubuntu 18.04 container (#50790)
* ansible-test: Add Ubuntu 18.04 to Shippable CI nodes

* re-add ubuntu1604/3 to matrix

* forgot to add environment for git kill gpg-agent
2019-01-22 10:30:35 +10:00
Matt Clay
b834b29e43 Run integration tests from temporary directory.
ci_complete
2019-01-17 17:22:51 -08:00
Matt Clay
6842c0467f Fix ansible-test handling of empty test targets.
Previously empty test targets were ignored by ansible-test.
This would prevent them from participating in dependency analysis.
These targets are actually empty roles, and should be processed as such.
2019-01-16 00:03:43 -08:00
Matt Clay
eee3dc888b Pass ansible-test inventory path to test funcs.
This avoids declaring the inventory path/names in multiple places.
Also expose the inventory path using the INVENTORY_PATH env var.
2019-01-15 18:07:13 -08:00
Matt Clay
4d546398fd
Further cleanup of integration test inventory. (#50919)
* Further cleanup of integration test inventory.
* Preserve aci and msc inventory in template.
* Update ansible-test inventory template handling.
* Fix classification of inventory file.
2019-01-15 16:42:49 -08:00
Matt Clay
6a0452559b Handle non-target file deps for integration tests.
Some integration test targets have dependencies on files outside
the `test/integration/targets/` directory tree. Changes to these
dependencies can result in unexpected test failures since they do
not trigger integration tests which depend on them.
2019-01-14 23:58:10 -08:00
Matt Clay
7b4bc572de
Fix ansible-test target dependency issues. (#50908)
* Log dependencies at verbosity level 4.

This makes it easier to debug target dependency issues.

* Scan symlinks for target dependencies.

Some test targets use symlinks to files in other test targets.
These dependencies were previously undetected. This could result in
changes made to dependencies without triggering the dependent tests.

* Track missing target deps with `needs/target/*`.

Some existing test targets have untracked dependencies on other
test targets. This can result in changes to those dependencies
not triggering their dependent tests, resulting in test failures
after a PR is merged.

This PR adds the appropriate `needs/target/*` aliases to track
those dependencies, along with appropriate processing in
ansible-test to handle the new aliases.

* Scan meta dependencies in script targets.

Script targets are often former role targets which were converted
to allow custom invocations of ansible-playbook. These targets still
have their meta dependencies, but they were not being detected.

This could result in changes to dependencies not triggering the
targets which depend on them.
2019-01-14 19:57:32 -08:00
Matt Clay
dca4eb3dcd Delegate ansible-test with LC_ALL=en_US.UTF-8.
This fixes encoding issues in ansible-test when running tests in
delegated environments that do not have LC_ALL or LANG set by default.
2019-01-14 19:13:51 -08:00
Matt Clay
35caebd036 Fix ansible-test dependency processing.
Previously, the following dependencies:

A used by B
B used by C

Would have been converted to:

A used by C
B used by C

Intead of being expanded to:

A used by B
A used by C
B used by C

This change preserves the existing dependency when expanding it.
2019-01-14 15:31:59 -08:00
Bojan Vitnik
a69e9e3470 Updated test constraints for mock assert_called() and assert_called_once() 2019-01-14 14:17:01 -08:00
Yuwei Zhou
0f6252baf3 dns zone enhancement and return curated value (#50740) 2019-01-11 16:38:29 +08:00
Matt Clay
e5094e8071
Cleanup integration test inventory. (#50753)
* Move var_blending test inventory into test.
* Remove Amazon specific inventory entry for tests.
* Remove Azure specific inventory entry for tests.
* Move var_precedence test inventory into test.
* Move unicode test inventory into test.
* Remove unused inventory entry.
* Move gathering_facts test inventory into test.
* Move delegate_to test inventory into test.
* Clean up inventory for binary_modules test.
* Clean up integration test inventory.
2019-01-10 14:45:12 -08:00
Matt Clay
39824f50b1 Disable retry files for integration tests. 2019-01-09 17:59:40 -08:00
Gaudenz Steinlin
35f17bf4c2 Cloudscale volume (#49887)
* Cloudscale integration test setup

CloudProvider and CloudEnvironment classes for Cloudscale integration
tests. This also contains a cloudscale_common role with common
variables for all tests.

* cloudscale_volume module

New cloud module to manage volumes on the cloudscale.ch IaaS service.
2019-01-07 22:29:01 +01:00
René Moser
48ffe2f3b2
tests: vultr: convert legacy tests to targets (#50156) 2019-01-07 22:23:54 +01:00
Matt Clay
01833b6fb1
Add env command to ansible-test and run in CI. (#50176)
* Add `env` command to ansible-test and run in CI.
* Avoid unnecessary docker pull.
2018-12-20 22:08:57 -08:00
Matt Clay
61b5adcf31 Add OverlayFS work-around for CloudStack tests. 2018-12-17 15:45:31 -08:00
Toshio Kuratomi
3fba006207 Update bare exceptions to specify Exception.
This will keep us from accidentally catching program-exiting exceptions
like KeyboardInterupt and SystemExit.
2018-12-16 15:03:19 -08:00
Matt Clay
6cd8742fa7 Add virtualenv symlink for RHEL 8.
Also enable template_jinja2_latest now that it passes.
2018-12-07 08:53:10 -08:00
Jordan Borean
6a09db5131
ansible-test - swap Fedora 25 for 29 (#49634) 2018-12-07 12:00:23 +10:00
Jordan Borean
5392caee14
ansible-test: change Fedora 24 to 28 (#49586) 2018-12-06 16:30:11 +10:00
Yunge Zhu
ecd995496c new module: azure_rm_rediscache (#47914)
* add new redis cache module

* fix version

* fix lint
2018-11-28 15:59:55 -08:00
Jordan Borean
694c505452
ansible-test: recursively scan setup dependencies (#49170)
* ansible-test: recursively scan setup dependencies

* removed need for default set()
2018-11-28 06:38:27 +10:00
Matt Clay
3b705efc93 Fix ansible-test skip warning message. 2018-11-27 07:50:22 -08:00
Chris Archibald
50808ffa8f Add common files for ONTAP and SOLIDFIRE unit tests (#48739)
* And unit test files

* Changes to netapp.py

* Matt's changed, and pep8 change for test_netapp.py
2018-11-19 14:43:32 +00:00
Adam Miller
4771ccc24b enable rhel8 beta for testing in ec2 (#48831) 2018-11-16 19:09:27 -08:00
Matt Clay
0826a00803 Add --raw option to ansible-test shell command.
It is currently supported only with the `--remote` option.

This makes it easier to troubleshoot new instances which are not
yet supported by the setup scripts used by ansible-test.
2018-11-16 17:38:15 -08:00
Matt Clay
8066acc90c
Support skip of platforms by version in tests. (#48826)
* Support skip of platforms by version in tests.

Previously a remote platform could be skipped completely using the alias:

`skip/{platform}` such as `skip/rhel`

Now a specific platform version can be skipped using the alias:

`skip/{platform}{version}` such as `skip/rhel7.6`

This feature is available for platforms specified with the `--remote` option.

* Add skip by version to the docs.
2018-11-16 16:38:47 -08:00
Will Thames
aaf29c785f Provide Kubernetes resource validation to k8s module (#43352)
* Provide Kubernetes resource validation to k8s module

Use kubernetes-validate to validate Kubernetes resource
definitions against the published schema

* Additional tests for kubernetes-validate

* Improve k8s error messages on exceptions

Parse the response body for the message rather than returning
a JSON blob

If we've validated and there are warnings, return those too - they
can be more helpful

```
"msg": "Failed to patch object: {\"kind\":\"Status\",\"apiVersion\":\"v1\",\"metadata\":{},
       \"status\":\"Failure\",\"message\":\"[pos 334]: json: decNum: got first char 'h'\",\"code\":500}\n",
```
vs
```
"msg": "Failed to patch object: [pos 334]: json: decNum: got first char 'h'\nresource
        validation error at spec.replicas: 'hello' is not of type u'integer'",
```

* Update versions used

In particular openshift/origin:3.9.0

* Add changelog for k8s validate change
2018-11-16 12:44:59 +00:00
Matt Clay
e6ffc4f89a Remove CI platform: freebsd/10.4 2018-11-16 00:46:09 -08:00
Matt Clay
6745ee7cc8 Switch tests from RHEL 7.5 to 7.6. 2018-11-15 21:42:49 -08:00
Zim Kalinowski
e9c91ebd09
updating container service to 4.2.2 (#48768) 2018-11-16 12:38:54 +08:00
Zim Kalinowski
406da7a568
upgrading azure-mgmt-compute to the latest (#47601)
* upgrading azure-mgmt-compute to the latest
2018-11-15 15:24:42 +08:00
Matt Clay
de11b473a6 Revert "Relax ansible-test python version checking."
This reverts commit d6cc3c4187.
2018-11-14 17:39:00 -08:00
Zim Kalinowski
dfe554eaf8 upgrading network packages (#47639) 2018-11-15 09:26:35 +08:00
Matt Clay
fa53b4805b Fix ansible-test interpreter tracking.
Track the interpreter for each copy of the injector by the interpreter
path instead of the interpreter version. This avoids the possibility
of mixing different interpreters with the same version.
2018-11-14 13:58:03 -08:00
Matt Clay
aa7fe919d3 Fix ansible-test merge change detection. 2018-11-14 12:27:40 -08:00
Matt Clay
d6bf45cd9d Correct ansible-test injector python behavior.
Inject a symlink to the correct python into the copied injector
directory instead of altering the shebang of the injector. This
has the side-effect of also intercepting `python` for integration
tests which simplifies cases where it needs to be directly invoked
without collecting code coverage.
2018-11-14 12:17:09 -08:00
Matt Clay
eec21a3d12 Use correct interpreter for ansible-test injector. 2018-11-13 22:50:34 -08:00
Matt Clay
c25db4ee8d Add change classification for powershell wrappers. 2018-11-13 22:47:06 -08:00
Matt Clay
d6cc3c4187 Relax ansible-test python version checking. 2018-11-13 19:45:18 -08:00
Deric Crago
7f3c21f628 bump version of 'vcenter-test-container' to '1.4.0' (govmomi v0.19.0) 2018-11-05 11:57:15 -08:00