AlanCoding 55a7591f89
Resolve actions conflicts and delete unwatned files
Bump migrations and delete some files

Resolve remaining conflicts

Fix requirements

Flake8 fixes

Prefer devel changes for schema

Use correct versions

Remove sso connected stuff

Update to modern actions and collection fixes

Remove unwated alias

Version problems in actions

Fix more versioning problems

Update warning string

Messed it up again

Shorten exception

More removals

Remove pbr license

Remove tests deleted in devel

Remove unexpected files

Remove some content missed in the rebase

Use sleep_task from devel

Restore devel live conftest file

Add in settings that got missed

Prefer devel version of collection test

Finish repairing .github path

Remove unintended test file duplication

Undo more unintended file additions
2025-09-17 10:23:19 -04:00
..
2021-06-08 14:33:30 -04:00
2020-06-19 09:49:37 -04:00

Collection tools

Tools used for building, maintaining, and testing the collection.

Template Galaxy

The template_galaxy.yml playbook ran as a pre-requisite for building the collection.

make awx_collection_build

Generate

This will template resource modules (like group, for groups in inventory) from a boilerplate template. It is intended as a tool for writing new modules or enforcing consistency.

Integration Testing

These instructions assume you have ansible-core and the collection installed. To install the collection in-place (to pick up any local changes to source) the make symlink_collection will symlink the awx_collection/ folder to the appropriate place under ~/.ansible/collections.

This is a shortcut for quick validation of tests that bypasses ansible-test. To use this, you need the ~/.tower_cli.cfg config file populated, which can be done via the deprecated tower-cli login <username> or manually writing it, where the format looks like:

[general]
host = https://localhost:8043/
verify_ssl = false
username = admin
password = password

TODO: adjust playbook to allow using environment variables as well.

To run some sample modules:

ansible-playbook -i localhost, awx_collection/tools/integration_testing.yml

To run just one module (the most common use case), use the -e test=<name>.

ansible-playbook -i localhost, awx_collection/tools/integration_testing.yml -e test=host

If you want to run all the tests, then you need to pass in the whole list. This will take significant time and is not ideal from an error-handling perspective, but this is a way to do it:

ansible-playbook -i localhost, awx_collection/tools/integration_testing.yml -e test=$(ls -1Am awx_collection/tests/integration/targets/ | tr -d '[:space:]')

Depending on the module, you may need special dependencies. For instance, the rrule lookup plugins need pytz. These will be satisfied if you install requirements in awx_collection/requirements.txt.