Commit Graph

39 Commits

Author SHA1 Message Date
2eff25aef8 Update ansible-test network inventory handling.
DCI uses an inventory directory instead of a file, along with --no-temp-workdir.

This changes the inventory check to keep that scenario working until all DCI jobs can be migrated to Zuul.
2019-08-22 17:35:41 -07:00
adb886e4ce Speed up units using time.sleep by mocking or shortening sleep time (#61064)
* Speed up units using time.sleep by mocking or shortening sleep time

* Only use durations when not a collection
2019-08-21 16:52:58 -05:00
3551d83289 Fix ansible-test payload bin creation. 2019-08-21 12:45:55 -07:00
29ac0273d4 Update ansible-test collection inventory handling. (#61031)
* Update ansible-test collection inventory handling.

- The `windows-integration` command now supports the `--inventory` option.
- The incomplete support for host_vars and group_vars directories has been removed.
- The incomplete support for an inventory directory has been removed.
- The inventory specified by `--inventory` can now reside outside the install and content roots.
- Using `ansible_ssh_private_key_file` with `--docker` or `--remote` results in a warning about the combination being unsupported and likely to fail.

* Fix config handling.

* Fix payload handling of ssh keys.

* Disable pylint no-self-use rule for ansible-test.

* De-duplicate payload paths.
2019-08-21 12:12:37 -07:00
145a6a8756 maven_artifact.py - add support for version ranges by using spec (#54309) 2019-08-21 14:33:28 +01:00
bfa004930a add subdir support to collection loading (#60682)
* add subdir support to collection loading

* collections may now load plugins from subdirs under a plugin type or roles dir, eg `ns.coll.subdir1.subdir2.myrole`->ns.coll's roles/subdir1/subdir2/myrole, `ns.coll.subdir1.mymodule`->ns.coll's plugins/modules/subdir1/mymodule.py
* centralize parsing/validation in AnsibleCollectionRef class
* fix issues loading Jinja2 plugins from multiple sources 
* resolves #59462, #59890,

* sanity test fixes

* string fixes

* add changelog entry
2019-08-21 10:45:04 +01:00
32b0a72547 Support windows-integration on collections. (#60984)
* Support windows-integration on collections.

* Update configure-remoting-ps1 sanity test.

* Add copy of ConfigureRemotingForAnsible.ps1.

* Add ignore entry for copied file.
2019-08-20 22:23:28 -07:00
92380d7050 Update ansible-test --windows inventory creation. (#60911)
Host specific settings are created as part of the generated inventory instead of using a host_vars directory.

Also update connection tests to work properly with the generated inventory changes.
2019-08-20 07:17:32 -07:00
ebe55e83c3 Fix ansible-test bin creation.
Use symlink instead of link.
2019-08-16 14:00:43 -07:00
def3d1f815 validate-modules: support collections (#60247)
* Start of work to support collections

* remove version_added from base schema

* If a collection, pass that to validate-modules

* clean ups

* Allow version_added in a collection, just make it optional

* Don't traceback on missing doc_fragment

* Don't validate metadata in a collection
2019-08-16 14:28:34 -05:00
d9c44897a6 Fix ansible-test cloud vars overwrite. 2019-08-15 10:20:14 -07:00
7968dc4c00 Load integration config test vars from content.
The `test/integration/integration_config.yml` vars file will now be loaded from the content under test and is now optional.

The `output_dir` and `win_output_dir` vars are now provided by ansible-test.
2019-08-14 20:40:59 -07:00
ba1b4565d3 Clean up ansible-test results path handling.
This brings us closer to being able to use `tests/` instead of `test/` in collections.
2019-08-13 21:51:57 -07:00
1b8aa798df Update ansible-test integration config handling. (#60448)
* Move Ansible test config into env vars.

This allows ansible-test to use an empty Ansible config file, leaving open the option for users to customize the one used to run tests (although such usage is discouraged).

* Use config from content under test when present.
2019-08-13 13:18:55 -07:00
a20848bf66 Use new version of default test image that contains Python 3.8.0b3 (#60139) 2019-08-13 12:28:02 -04:00
25d396fdfc Fix testing of Windows binary modules. 2019-08-12 22:19:35 -07:00
c485a1b91e Fix sanity tests based on newer version of shellcheck (#60423)
- change egrep to grep -E
- store exit codes and check them directly
- ignore SC1091
2019-08-12 16:24:28 -04:00
697b566971 Update units to pass on macOS (#60435)
* Update units to pass on macOS. Fixes #27810

* raising=False
2019-08-12 15:13:07 -05:00
a3407682ed ansible-test: fix the vcenter+vcsim support
The vcenter provider allow one to use the `VMWARE_TEST_PLATFORM` to
manually select a test platform. The test platforms are:

- `govcsim`
- `static`
- and `worldstream`.

Before this commit, the `govcsim` value was ignored.

Example:

```shell
$ VMWARE_TEST_PLATFORM=govcsim ansible-test integration --python 3.7 needs/target/prepare_vmware_tests/
```
2019-08-12 11:55:38 +02:00
473bd6bb0a Relax boilerplate sanity tests.
This will avoid requiring boilerplate for documentation only python files.
2019-08-09 18:49:57 -07:00
3fac6a0adb Fix ansible-test TypeVar type annotations. 2019-08-09 17:29:41 -07:00
cb68110296 Clean up ansible-test inventory templates. (#60321)
* Move ansible-test inventory templates.
* Remove obsolete inventoy.remote.template file.
2019-08-09 11:06:21 -07:00
2a9964ede8 Code cleanup in ansible-test. (#60318)
* Move ansible-test units code into separate dir.
* Fix --explain on "code smell" sanity tests.
* Add --strict-markers to pytest invoctaion.
* Fix classification of units code changes.
2019-08-09 09:38:19 -07:00
df59f06d6a Additional ansible-test path fixes. (#60300)
* Add missing ansible-test injector symlink.
* More ansible-test path fixes.
* Expand bin-symlinks docs.
2019-08-08 23:51:03 -07:00
39b3fc0926 Update ansible-test layout and payload handling. 2019-08-08 21:34:38 -07:00
647b78a09c VMware: Check if datastore is valid (#58872)
Check validation of datastore selected using autoselect_datastore API.

Fixes: #58541

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-08-09 07:56:52 +05:30
57dc7ec265 Prepare ansible-test for inclusion in setup.py (#60294)
* Cache ansible version lookup.
* Fix method of determining ANSIBLE_ROOT.
* Clean up based on PyCharm inspections.
* Generate minimal PKG-INFO without setup.py.
* Use ANSIBLE_LIB_ROOT where possible.
* Use import instead of subprocess to get version.
* Fix install layout type.
* Correct required paths message for installs.
* Update list of files copied during delegation.
* Fix ansible-test entry point.
* Fix pylint issue.
* Fix version lookup on Python 2.x.
* Fix pylint issue.
* Remove unwanted print statement.
2019-08-08 16:14:19 -07:00
9cb47832d1 Pin openshift <=0.9.0 to prevent test failures (#60245) 2019-08-08 14:28:40 -05:00
b0ec91e69e Autointerpreter table (#60148)
* Some framework for docs

* Separate CSS file for our site-specific CSS.
* Override the read-the-docs theme for tables so that tables don't
  always horizontally scroll
* Add a |br| substitution that lets us line break inside of tables
* Add |_| non-breaking-space substitution which is also for formatting
  tables
* Configure rstcheck to ignore all substitutions which are being added
  by sphinx in the conf.py

* Fix table of auto interpreter options

The table was being hardcoded at a certain width to work around a
read-the-docs theme bug.  Fix the bug instead and format the table using
better sphinx practices.

* Remove unused substitutions

We had substitutions defined that were never used in our documentation.
Remove those.

Also add to the rstcheck whitelist three substitutions which are defined
by sphinx itself, version, release, and today.
2019-08-08 13:56:07 -05:00
97a0810e0f Move ansible-test entry point. (#60281) 2019-08-08 09:18:31 -07:00
5f67b5a757 Move ansible-test coverage config to test/lib/ 2019-08-07 18:32:46 -07:00
2e7d36a3f9 Fix placement and handling of ansible-test cloud config (#60253)
* Move cloud templates.
* Update paths for cloud config templates.
* Fix cloud config paths.
* Fix cloud-config classification.
2019-08-07 18:32:30 -07:00
278044358c Split up ansible-test sanity test requirements. 2019-08-07 09:34:26 -07:00
a93a0c8fd6 Relocate validate-modules for easier testing. (#60214)
* Relocate module validator code and tests.
* Fix validate-modules entry point and imports.
* Fix paths and test entry points.
* Fix up unit tests.
* Fix shebang and execute bit.
2019-08-07 09:34:11 -07:00
9e31cf7270 Avoid pylint error on Python 3.7. 2019-08-06 17:19:01 -07:00
18867847f4 Split up "code smell" sanity tests. (#60174)
* Relocate ansible-only sanity tests.

* Get "code smell" sanity tests from multiple dirs.

- `test/lib/ansible_test/_data/sanity/code-smell/` - General purpose tests used for both Ansible and Ansible Collections.
- `test/sanity/code-smell/` - Tests specific to Ansible, will not be used for Ansible Collections.
2019-08-06 17:17:57 -07:00
709a8c5026 Fix ansible-test classification of sanity changes. 2019-08-06 17:17:31 -07:00
9da5908afb Fix ansible-test layout path generation. 2019-08-06 16:07:53 -07:00
d651bda123 Relocate ansible-test code. (#60147)
* Initial move of `test/runner/` content.

`test/runner/lib/` -> `test/lib/ansible_test/_internal/`
`test/runner/`     -> `test/lib/ansible_test/_internal/data/`

* Initial move of `test/sanity/` content.

`test/sanity/` -> `test/lib/ansible_test/_internal/data/sanity/` (except `test/sanity/ignore.txt`)

* Initial move of `test/units/pytest/` content.

`test/units/pytest/` -> `test/lib/ansible_test/_internal/data/pytest/`

* Follow-up move of `test/runner/unit/` content.

`test/lib/ansible_test/_internal/data/unit/` -> `test/lib/ansible_test/tests/unit/`

* Initial move of `ansible.cfg` content.

`test/units/ansible.cfg` -> `test/lib/ansible_test/_internal/data/units/ansible.cfg`
`test/env/ansible.cfg` -> `test/lib/ansible_test/_internal/data/env/ansible.cfg`

* Follow-up move of `data` directory.

`test/lib/ansible_test/_internal/data/` -> `test/lib/ansible_test/_data/`

* Update import statements.

* Add missing __init__.py for unit tests.

* Fix path references and miscellaneous issues.
2019-08-06 14:43:29 -07:00