Conversation
There was a problem hiding this comment.
Pull request overview
Adds an “Execution Environment Builder” tool to AWX, introducing a new builder resource and a new unified job type for running EE builds and exposing them in both the API and UI.
Changes:
- UI: adds Tools navigation + screens for listing/creating/editing/launching EE Builders and viewing EE Build jobs in the existing Job pages.
- API/Backend: adds
ExecutionEnvironmentBuildermodel,ExecutionEnvironmentBuilderBuildunified job + events, and corresponding API endpoints/serializers/access hooks. - Execution: adds an Ansible playbook (
build_ee.yml) and a new task runner (RunExecutionEnvironmentBuilderBuild) to perform the build.
Reviewed changes
Copilot reviewed 46 out of 46 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| awx/ui/src/util/jobs.js | Adds job model mapping for execution_environment_builder_build. |
| awx/ui/src/screens/Job/Job.js | Adds URL segment mapping and details view for builder build jobs. |
| awx/ui/src/screens/Job/ExecutionEnvironmentBuilderBuildDetail/index.js | Exports the new build detail screen component. |
| awx/ui/src/screens/Job/ExecutionEnvironmentBuilderBuildDetail/ExecutionEnvironmentBuilderBuildDetail.js | Implements the EE build job “Details” panel with relaunch/cancel/delete actions. |
| awx/ui/src/screens/ExecutionEnvironmentBuilder/shared/ExecutionEnvironmentBuilderForm.js | Adds builder create/edit form fields including registry credential + definition. |
| awx/ui/src/screens/ExecutionEnvironmentBuilder/index.js | Exports the Execution Environment Builder screen entrypoint. |
| awx/ui/src/screens/ExecutionEnvironmentBuilder/ExecutionEnvironmentBuilders.js | Adds routing and breadcrumbs for builder list/add/detail/edit screens. |
| awx/ui/src/screens/ExecutionEnvironmentBuilder/ExecutionEnvironmentBuilderList/index.js | Exports the builders list component. |
| awx/ui/src/screens/ExecutionEnvironmentBuilder/ExecutionEnvironmentBuilderList/ExecutionEnvironmentBuilderList.js | Implements paginated/filterable builder list with bulk delete. |
| awx/ui/src/screens/ExecutionEnvironmentBuilder/ExecutionEnvironmentBuilderList/ExecutionEnvironmentBuilderListItem.js | Adds row rendering/actions (edit/launch/copy) for the builder list. |
| awx/ui/src/screens/ExecutionEnvironmentBuilder/ExecutionEnvironmentBuilderEdit/index.js | Exports the builder edit component. |
| awx/ui/src/screens/ExecutionEnvironmentBuilder/ExecutionEnvironmentBuilderEdit/ExecutionEnvironmentBuilderEdit.js | Implements builder edit submit/cancel flow. |
| awx/ui/src/screens/ExecutionEnvironmentBuilder/ExecutionEnvironmentBuilderDetail/index.js | Exports builder details component. |
| awx/ui/src/screens/ExecutionEnvironmentBuilder/ExecutionEnvironmentBuilderDetail/ExecutionEnvironmentBuilderDetails.js | Implements builder details display + launch/edit/delete actions. |
| awx/ui/src/screens/ExecutionEnvironmentBuilder/ExecutionEnvironmentBuilderAdd/index.js | Exports builder add component. |
| awx/ui/src/screens/ExecutionEnvironmentBuilder/ExecutionEnvironmentBuilderAdd/ExecutionEnvironmentBuilderAdd.js | Implements builder creation submit/cancel flow. |
| awx/ui/src/screens/ExecutionEnvironmentBuilder/ExecutionEnvironmentBuilder.js | Adds builder detail/edit routing and data loading. |
| awx/ui/src/routeConfig.js | Adds Tools nav group and EE Builder route; attempts to gate by user profile. |
| awx/ui/src/constants.js | Adds URL segment mapping for the new job type. |
| awx/ui/src/components/LaunchButton/LaunchButton.js | Adds relaunch support for builder build jobs. |
| awx/ui/src/components/JobList/JobListItem.js | Adds display label for the new job type. |
| awx/ui/src/api/models/ExecutionEnvironmentBuilders.js | Adds UI API model for builders (CRUD/access/copy/launch). |
| awx/ui/src/api/models/ExecutionEnvironmentBuilderBuilds.js | Adds UI API model for builds (runnable + stdout). |
| awx/ui/src/api/index.js | Registers the new UI API clients. |
| awx/playbooks/build_ee.yml | Adds Ansible playbook for executing EE build steps. |
| awx/main/utils/common.py | Marks builder builds as “control” capacity type. |
| awx/main/tasks/jobs.py | Adds RunExecutionEnvironmentBuilderBuild task and minor BaseTask adjustments. |
| awx/main/tasks/callback.py | Adds runner callback class for builder builds. |
| awx/main/scheduler/task_manager.py | Excludes builder builds from dependency generation. |
| awx/main/scheduler/dependency_graph.py | Excludes builder builds from blocking graph logic. |
| awx/main/models/unified_jobs.py | Adds event parent key mapping for builder build events. |
| awx/main/models/execution_environment_builders.py | Adds ExecutionEnvironmentBuilder model + roles and URL. |
| awx/main/models/execution_environment_builder_builds.py | Adds ExecutionEnvironmentBuilderBuild unified job model. |
| awx/main/models/events.py | Adds build event model + event creation key support. |
| awx/main/models/activity_stream.py | Adds activity stream relation for builders. |
| awx/main/models/init.py | Wires new models/events into model exports and activity stream registration. |
| awx/main/migrations/0194_executionenvironmentbuilder_and_more.py | Creates builder model + activity stream M2M. |
| awx/main/migrations/0195_executionenvironmentbuilderbuild_and_more.py | Creates build job/event models and attempts event partitioning setup. |
| awx/main/dispatch/worker/callback.py | Adds builder build event support when processing callback payloads. |
| awx/main/access.py | Adds Access classes for builders and builder builds. |
| awx/api/views/root.py | Exposes new endpoints on the API root. |
| awx/api/views/init.py | Adds list/detail/copy/launch endpoints for builders and list/detail/cancel/relaunch/events/stdout for builds. |
| awx/api/urls/urls.py | Wires builder and builds URL includes. |
| awx/api/urls/execution_environment_builder.py | Adds URL patterns for builder endpoints. |
| awx/api/urls/execution_environment_builder_build.py | Adds URL patterns for build endpoints. |
| awx/api/serializers.py | Adds serializers for builders, builds, and build events; adds type choice support. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...onEnvironmentBuilder/ExecutionEnvironmentBuilderDetail/ExecutionEnvironmentBuilderDetails.js
Outdated
Show resolved
Hide resolved
...ionEnvironmentBuilder/ExecutionEnvironmentBuilderList/ExecutionEnvironmentBuilderListItem.js
Show resolved
Hide resolved
awx/main/migrations/0195_executionenvironmentbuilder_and_more.py
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 46 out of 46 changed files in this pull request and generated 8 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
awx/main/migrations/0195_executionenvironmentbuilder_and_more.py
Outdated
Show resolved
Hide resolved
...onEnvironmentBuilder/ExecutionEnvironmentBuilderDetail/ExecutionEnvironmentBuilderDetails.js
Outdated
Show resolved
Hide resolved
...ExecutionEnvironmentBuilder/ExecutionEnvironmentBuilderAdd/ExecutionEnvironmentBuilderAdd.js
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 53 out of 53 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
awx/main/tests/functional/api/test_execution_environment_builder.py
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 53 out of 53 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...ionEnvironmentBuilder/ExecutionEnvironmentBuilderList/ExecutionEnvironmentBuilderListItem.js
Show resolved
Hide resolved
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 60 out of 60 changed files in this pull request and generated 6 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
awx/ui/src/screens/ExecutionEnvironmentBuilder/shared/ExecutionEnvironmentBuilderForm.test.js
Show resolved
Hide resolved
...screens/Job/ExecutionEnvironmentBuilderBuildDetail/ExecutionEnvironmentBuilderBuildDetail.js
Show resolved
Hide resolved
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 60 out of 60 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This adds a new Tools section. The first tool we are adding is an Execution Environment builder (with many more tools to come).
The EE Builder allows you to specify a definition file, where to push the EE, and the credential. It creates a new type of Job which will then use the control plane to build the EE.
Things to finish
Fix permissions for EE AdminsCombine migrationsUpdate example configAdd tests