Provide a view that allows users to launch many jobs with one POST request. Under the hood, this creates a workflow with a number of jobs all in a "flat" structure -- much like a sliced job, but with arbitrary "joblets". For ~ 100 nodes looking at ~ 200 some queries, which is more than the proof of concept, but still an order of magnitude better than individual job launches. Still more work to implement other m2m objects, and need to address what Organization should be assigned to a WorkflowJob launched by a BulkJob. They need this so they can step into the workflow_job_nodes and get the status of all the containing jobs. Also want to test when there are MANY job templates etc in the system because the querires like UnifiedJobTemplate.accessible_pk_qs(request.user, 'execute_role').all() queries scare me, seems like it could be a lot of things. use "many=True" instead of ListField Still seeing identical number of queries when creatin 100 jobs, going to investigate more only validate type in nested serializer then, we actually get the database object after we do the RBAC checks This drops us down from hundreds of queries to launch 100 jobs, to less than 100 queries to launch 100 jobs (I got around 24 queries to launch 100 jobs with credentials) pave way for more promptable things add "limit" as possible prompt on launch to bulk jobs re-organize how we add credentials to pave way for the other m2m items not having to repeat too much code add labels to the bulk job add the other fields to the workflowjobnode move urls around
AWX provides a web-based user interface, REST API, and task engine built on top of Ansible. It is one of the upstream projects for Red Hat Ansible Automation Platform.
To install AWX, please view the Install guide.
To learn more about using AWX, and Tower, view the Tower docs site.
The AWX Project Frequently Asked Questions can be found here.
The AWX logos and branding assets are covered by our trademark guidelines.
Contributing
- Refer to the Contributing guide to get started developing, testing, and building AWX.
- All code submissions are made through pull requests against the
develbranch. - All contributors must use git commit --signoff for any commit to be merged and agree that usage of --signoff constitutes agreement with the terms of DCO 1.1
- Take care to make sure no merge commits are in the submission, and use
git rebasevs.git mergefor this reason. - If submitting a large code change, it's a good idea to join the
#ansible-awxchannel on web.libera.chat and talk about what you would like to do or add first. This not only helps everyone know what's going on, but it also helps save time and effort if the community decides some changes are needed.
Reporting Issues
If you're experiencing a problem that you feel is a bug in AWX or have ideas for improving AWX, we encourage you to open an issue and share your feedback. But before opening a new issue, we ask that you please take a look at our Issues guide.
Code of Conduct
We ask all of our community members and contributors to adhere to the Ansible code of conduct. If you have questions or need assistance, please reach out to our community team at codeofconduct@ansible.com
Get Involved
We welcome your feedback and ideas. Here's how to reach us with feedback and questions:
- Join the
#ansible-awxchannel on irc.libera.chat - Join the mailing list