Skip to content

[WIP] - Create an Execution Environment Builder#279

Draft
cigamit wants to merge 10 commits intomainfrom
eebuilder
Draft

[WIP] - Create an Execution Environment Builder#279
cigamit wants to merge 10 commits intomainfrom
eebuilder

Conversation

@cigamit
Copy link
Copy Markdown
Contributor

@cigamit cigamit commented Mar 29, 2026

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 Admins
  • Combine migrations
  • Update example config
  • Add tests
  • Possibly allowing to specify a repo instead of only a definition file (so other files can be added)
  • Possibly allow running job on instances other than control plane

@cigamit cigamit self-assigned this Mar 29, 2026
@cigamit cigamit added enhancement New feature or request javascript Pull requests that update javascript code python Pull requests that update python code labels Mar 29, 2026
Copilot AI review requested due to automatic review settings March 29, 2026 02:51
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 ExecutionEnvironmentBuilder model, ExecutionEnvironmentBuilderBuild unified 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.

Copilot AI review requested due to automatic review settings March 29, 2026 03:23
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot AI review requested due to automatic review settings March 29, 2026 06:19
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot AI review requested due to automatic review settings March 29, 2026 07:49
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@cigamit cigamit requested a review from Copilot March 29, 2026 17:06
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request javascript Pull requests that update javascript code python Pull requests that update python code

Development

Successfully merging this pull request may close these issues.

2 participants