Custom EE images for AWX 0.21.0 ?

,

Following this guide for creating custom EE images for AWX, for our brand new install of 0.21.0. https://www.linkedin.com/pulse/creating-custom-ee-awx-phil-griffiths/

Notice the quay image they point to for receptor is 0.9.7. Also noticed there are new tags listed, like 1.0.0 now. Safe to use the latest tag to build new images or stick with 0.9.7 ?

Any dependency on the version of AWX your running and the version of receptor to use?

Hi!

that guide looks a little out of date, receptor is not needed for custom EE images

Also, the latest receptor images are now hosted at quay.io/ansible/receptor

Seth

Is there a better source on how to do custom EE using the latest versions of things for AWX 0.21.0 ?

This doesn’t seem to elaborate much on it:

https://docs.ansible.com/automation-controller/latest/html/userguide/execution_environments.html

I need to be able to build custom ee with various requirements.txt from python venv.

Having issues with the original instructions I referenced complaining about:

RuntimeError(“Install aborted - please install python-rpm from distribution system.”)

My bindep.txt contains:

python3 [platform:rpm compile]
gcc [platform:rpm compile]
subversion [platform:rpm]
subversion [platform:dpkg]
git-lfs [platform:rpm]

the official docs live here https://ansible-builder.readthedocs.io/en/stable/

awx ships with a default execution environment. Here is the execution_environment.yml that is used in ansible-builder that will create the image

https://github.com/ansible/awx-ee/blob/devel/execution-environment.yml

You can see how it is done there to get an idea for your own EE

As I mentioned, receptor isn’t needed here so you can take out that line

I’m facing an error in building a custom image that I’m unsure about.

execution-environment.yml:

“please install python-rpm from distribution system”

I tried this myself and found this workaround

remove the “rpm” from requirements.txt

you’ll hit an error when compiling psutils, saying that you need gcc, so you can add a system: bindep.txt file with gcc

dependencies:
galaxy: requirements.yml
python: requirements.txt
system: bindep.txt

in bindep.txt

gcc [compile]
gcc-c++ [compile]
python38-devel [compile]

the [compile] tag will ensure these dependencies will only be on the system for compiling python modules, and removed afterward

At this point ansible-builder build will work, but you’ll be missing the rpm package. Is there any particular reason you need this package?

you could put python3-rpm in the bindep.txt, however, it will install the wrong one (will be installed for python3.6, not for python3.8, which is what ansible-runner is going to use). python38-rpm doesn’t exist.

If you need python-rpm, you’ll need to find a workaround for that.

Seth

If it helps… This is my custom EE build https://github.com/ugns/awx-custom-ee. I have it working on three AWX deployments via 0.22.0 operator and running 21.1.0.