Ansible core modules for AWX are moving to a collection

To all interested AWX users,

As some of you may know, there are a set of modules inside of Ansible core for controlling Ansible Tower or AWX.

https://docs.ansible.com/ansible/latest/modules/list_of_web_infrastructure_modules.html#ansible-tower

We have an open proposal to transition these to an Ansible collection, which we hope to finalize soon. This will affect everyone who has been using these modules, or who has or wants to contribute. First, the collection will be added to AWX source, https://github.com/ansible/awx/pull/4701, then the existing modules in Ansible core will be marked as deprecated, https://github.com/ansible/ansible/pull/62924.

I have a test build up now, https://galaxy.ansible.com/alancoding/awx, which you can install now with ansible-galaxy collection install. Once this merges, we intend to upload it under the awx.awx namespace.

Let me cover the rest of the details as a Q&A.

Will the content be any different?

For the initial release(s) of this collection under awx.awx, it will be the same logic as currently exists in the modules. This is for the sake of consistency, so that someone can install the initial version and get the same functionality as they used to have. We hope to get the ball rolling on merging fixes soon after this checkpoint.

How will versioning work?

Same as the new AWX CLI, the collection will adopt the exact same versioning as AWX itself. A new version will be released with each AWX release. If you are controlling an AWX server of a given version, then you should strive to use the same version of the collection.

What about open PRs and issues in Ansible?

We will add a new label to the AWX issues and start filing things there. Issues that remain relevant will be moved. Open PRs may be closed, asked to re-open, or could be cherry-picked by us, depending on the specifics.

What’s the license?

The modules were contributed under the same GPL as Ansible core. The folder that we’re adding to AWX will retain the same license, which is different from most of AWX.

What about tests?

We are looking to start over with tests that enable us to accept contributions with lower friction. The open PR shows the results of a new check in Zuul. This will run against every PR in AWX (whether it modifies the collection or not) in order to ensure compatibility between AWX and this collection. We don’t have any particular plans for the old tests, which you can find at https://github.com/ansible/test-playbooks/tree/master/tower_modules.

Feel free to reply if you have any questions.