Pull execution environments for use in automation hub
Before you can push execution environments to your private automation hub, you must first pull them from an existing registry and tag them for use.
Before you begin Copy linkLink copied!
- You have permissions to pull automation execution environments from
registry.redhat.io.
About this task Copy linkLink copied!
The following example details how to pull an execution environment from the Red Hat Ecosystem Catalog (registry.redhat.io).
Procedure Copy linkLink copied!
Results Copy linkLink copied!
To verify that the execution environment you pulled is contained in the list, take these steps:
- List the images in local storage:
$ podman images - Check the execution environment name, and verify that the tag is correct.
Tag execution environments Copy linkLink copied!
After you pull execution environments from a registry, tag them for use in your private automation hub remote registry.
Before you begin Copy linkLink copied!
- You have pulled an execution environment from an external registry.
- You have the FQDN or IP address of the automation hub instance.
Procedure Copy linkLink copied!
$ podman tag registry.redhat.io/<ee_name>:<tag> <automation_hub_hostname>/<ee_name>
Results Copy linkLink copied!
- List the images in local storage:
$ podman images - Verify that the execution environment you tagged with your automation hub information is contained in the list.
Push an execution environment to private automation hub Copy linkLink copied!
You can push tagged execution environments to private automation hub to create new containers and populate the remote registry.
Before you begin Copy linkLink copied!
- You have permissions to create new containers.
- You have the FQDN or IP address of the Ansible Automation Platform instance.
Procedure Copy linkLink copied!
Results Copy linkLink copied!
- Log in to Ansible Automation Platform.
- Navigate to .
- Locate the container in the container repository list.
The push operation re-compresses image layers during the upload, which is not guaranteed to be reproducible and is client-implementation dependent. This may lead to image-layer digest changes and a failed push operation, resulting in Error: Copying this image requires changing layer representation, which is not possible (image is signed or the destination specifies a digest).
Pull and sync images from automation hub to your local system Copy linkLink copied!
Pull Ansible Automation Platform execution environments from the automation hub registry to your local machine. Use the provided podman pull command for the latest version in the repository, or specify a tag to copy a specific execution environment.
Pull an image Copy linkLink copied!
Use the user interface to pull an execution environment from your private automation hub remote registry to make a copy to your local machine.
Before you begin Copy linkLink copied!
- You must have permission to view and pull from a private container repository.
- If you are pulling automation execution environments from a password or token-protected registry, create a credential first.
Procedure Copy linkLink copied!
- From the navigation panel, select .
- Select your execution environment.
- In the Pull this image entry, click .
- Paste and run the command in your terminal.
Results Copy linkLink copied!
- Run
podman imagesto view images on your local machine.
Sync images from a container registry Copy linkLink copied!
You can pull automation execution environments from the private automation hub remote registry to sync an image to your local machine. To sync an execution environment from a remote registry, you must first configure a remote registry.
Before you begin Copy linkLink copied!
You must have permission to view and pull from a private container repository.
Procedure Copy linkLink copied!
Automation execution environments precedence Copy linkLink copied!
Identify and control the exact automation execution environment applied to your jobs by tracing the precedence hierarchy, ensuring you can troubleshoot environment mismatches or configure accurate defaults across your templates, projects, and organizations.
Project updates always use the control plane automation execution environments by default.
However, jobs use the first available automation execution environments as follows:
- The
execution_environmentdefined on the template (job template or inventory source) that created the job. - The
execution_environmentdefined on the project that the job uses. - The
execution_environmentdefined on the organization of the job. - The
execution_environmentdefined on the organization of the inventory the job uses. - The current Global default execution environment setting configurable at
api/v2/settings/system/ - Any image from the
GLOBAL_JOB_EXECUTION_ENVIRONMENTSsetting. - Any other global execution environment.
Note Where an
execution_environmentis not available, theDefault execution environmentcan be used. However, you must select this, as the system does not automatically provide a default environment.If more than one execution environment fits a criteria (applies for 6 and 7), the most recently created one is used.
When the "Default Execution Environment" is not used for a job, double-check the following:
- Whether a different execution environment has been defined for the template, project, or organization of the job.
- If the Global default execution environment in specifies a different execution environment.
Note This setting is not configured by default. - Check the order of the
GLOBAL_JOB_EXECUTION_ENVIRONMENTSin/etc/tower/conf.d/execution_environments.py.Default Execution Environmentshould be the first item in the array. - Check the order of the execution environments defined in the database by running the following command as root on the Ansible Controller node to output the
main_executionenvironmenttable:# echo "select id, name, created from main_executionenvironment where organization_id is null and managed = False order by created desc;" | awx-manage dbshellTo ensure that the Default Execution Environment is used regardless of the
GLOBAL_JOB_EXECUTION_ENVIRONMENTSsetting and database order, set the Global default execution environment in to Default Execution Environment.