Commit Graph

511 Commits (8535c05b29f07b05c3dbedd93727b453f5419501)

Author SHA1 Message Date
Matt Clay 8535c05b29 Add ansible-test finally block after tests run.
This will record data from passing tests even when tests fail.
6 years ago
Jordan Borean 8ef2e6da05 Add support for Windows hosts in the SSH connection plugin (#47732)
* Add support for Windows hosts in the SSH connection plugin

* fix Python 2.6 unit test and sanity issues

* fix up connection tests in CI, disable SCP for now

* ensure we don't pollute the existing environment during the test

* Add connection_windows_ssh to classifier

* use test dir for inventory file

* Required powershell as default shell and fix tests

* Remove exlicit become_methods on connection

* clarify console encoding comment

* ignore recent SCP errors in integration tests

* Add cmd shell type and added more tests

* Fix some doc issues

* revises windows faq

* add anchors for windows links

* revises windows setup page

* Update changelogs/fragments/windows-ssh.yaml

Co-Authored-By: jborean93 <jborean93@gmail.com>
6 years ago
Matt Clay 1c780e79c6 Fix ansible-test junit timeout xml output. 6 years ago
Zim Kalinowski 16571ec8a6 Updating azure-mgmt-resource package version to 2.1.0 (#53437) 6 years ago
Matt Clay 3d2c0f4973
Fix ansible-test timeout junit output. (#53427)
Fix ansible-test timeout junit output.

Implemented a hack to work around not having junit-xml when running on Shippable outside of our test containers.
6 years ago
Matt Clay 156613f025 Fix coverage handling for non_local tests. 6 years ago
Yunge Zhu 5ef7b7d767 add azure role definition module (#52468)
* add role definition module

* fix sample

* fix lint

* fix lint

* add facts module

* fix lint

* disable test due to no owner permission

* use unsupported

* fix lint

* resolve comments

* fix not_xxx_actions
6 years ago
Matt Clay a8d829d9c3
Add timeout support to ansible-test. (#53302)
* Add timeout support to ansible-test.
* Fix ansible-test tar filename filter bug.
* Update timeouts used on Shippable.
* Kill subprocesses when parent process terminates.
* Require explicit use of env --show option.
6 years ago
Matt Martz a639dc6d88
Add a new check to ensure that module arguments are valid python identifiers (#53278)
* Add a new check to ensure that module arguments are valid python identifiers

* Move the check up higher, out of the if docs block

* Skip validate-modules on py2

* Remove errant alias
6 years ago
Felix Fontein 1510435577 acme_account: improve account deactivation idempotency (#53234)
* Improve account deactivation idempotency.

* Using newer testing container.

* Add comment to test.
6 years ago
Lukas Kämmerling 66beeaf032 Add hcloud server module (#53062) 6 years ago
Yuwei Zhou d1b9e211a2 Add addon/network/aad support for AKS (#51014) 6 years ago
Zim Kalinowski ac3aa29d5b udpating dtl version (#53220) 6 years ago
Matt Clay eeaff731de
Overhaul ansible-test cloud test plugins. (#53044) 6 years ago
Matt Clay 861446b2a6 Run network tests when paramiko plugin changes. 6 years ago
Matt Clay b713246f57 Reduce vcenter integration test boilerplate. 6 years ago
Matt Clay c9f549e9c1 Fix integration test script coverage reporting.
Code coverage reporting was ignoring scripts executed during integration
tests when those scripts resided in the temporary working directory used
during an integration test run.
6 years ago
Rémi REY 30b3ce0f81 Add aws_secret module for managing secretsmanager on AWS (#48486)
* Adding module for managing AWS Secrets Manager resources

* adding aws_secret lookup plugin

Also use the data returned by describe_secret everywhere.

* replace the explicit /root use by a temporary dir

* aws_secret: rework module

Reworked module to use a class avoiding using client and module in every
functions.

* Added support of "recovery_window" parameter to allow user to provide
recovery period.

* updated return value to be the api output providing more details about
  the secret.

* Fix Python 3 bug in tests if the role is not removed

* Add unsupported alias due to issue restricting resource for creating secrets
6 years ago
Jordan Borean 3635c59b23
OpenSUSE - Add OpenSUSE 15 test containers (#52793)
* OpenSUSE - Add OpenSUSE 15 test containers ci_complete

* Reset matrix back to normal

* Set container version instead of latest

* Remove old Docker completion file
6 years ago
Matt Clay e8a31a12be Use a consistent RLIMIT_NOFILE for ansible-test. 6 years ago
Yuwei Zhou 664e6fb9c8 modified storageaccount fact return curated result with connection string (#49702) 6 years ago
Zim Kalinowski 777441719f
azure_rm_cosmosdbaccount - fix for virtual network rules (#52416) 6 years ago
Matt Clay f86c24a53c Update the default container to version 1.5.2.
ci_complete
6 years ago
Matt Clay f5c92f6bc1
Allow setting resource.RLIMIT_NOFILE in modules (#51989) 6 years ago
Matt Clay 1edee04bc5 Update pytest constraint for Python 2.7. 6 years ago
Matt Clay bbad5d1d16 Unfreeze six in test constraints.
This avoids re-installation during integration test runs.

Pinning this requirement shouldn't be needed for consistent test
results when running pylint.
6 years ago
Dag Wieers c2fb581414 Fix various sonarcloud issues
This fixes various reported bugs through sonarcloud at:
https://sonarcloud.io/project/issues?id=Rodney-Reis_ansible&resolved=false&types=BUG
6 years ago
Matt Clay 6a82827ddd Add Python 3.8 to ansible-test and CI. 6 years ago
Matt Clay d2c5fc8cac Update pytest and pytest-forked constraints. 6 years ago
Matt Clay aea4902822 Add constraint for pyone to keep tests passing. 6 years ago
Matt Clay 9bb1c59686
Add FreeBSD 12.0 to CI. (#52195) 6 years ago
Ondra Machacek 797a5218fb kubevirt: Add new kubevirt_vm module (#50768)
This module is managing virtual machines using KubeVirt.

Signed-off-by: Ondra Machacek <omachace@redhat.com>
6 years ago
Matt Clay 1c352dfea2
Update test constraints for Python 2.6. (#52055) 6 years ago
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
6 years ago
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
6 years ago
Matt Clay 06d83bae05 Support `ignore_changes` in code-smell tests. 6 years ago
Jordan Borean ce8db479f0
ansible-test: make the httptester for Windows more resiliant around the shell chosen (#51416) 6 years ago
Matt Clay 215b27eb10 Enable paramiko connection tests on RHEL 8.0. 6 years ago
Zim Kalinowski db37be66fe
updating azure compute mgmt package to the latest version (#51259) 6 years ago
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
6 years ago
Zim Kalinowski 4041f02389
adding devtestlabs (#50961) 6 years ago
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
6 years ago
Matt Clay b834b29e43 Run integration tests from temporary directory.
ci_complete
6 years ago
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.
6 years ago
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.
6 years ago
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.
6 years ago
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.
6 years ago
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.
6 years ago
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.
6 years ago
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.
6 years ago