-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Custom AWX EE with different EE_BASE_IMAGE #94
Comments
@AlanCoding @pabelanger Does this look familiar to either of you? Is this a bug in the assemble script? |
This error looks like it's in the install script, as opposed to the assemble script https://github.com/ansible/python-builder-image/blob/main/scripts/install-from-bindep#L63 But right before it sets |
I am having the same issue:
I was able to successfully build an image before. Now I am not. All that changed between builds was the requirements.yml contents. So not quite the issue OP has but the same result. What I did was remove _build as well as the Containerfile and re-ran the build. In my case, that worked. Attaching the next run after removing the older files.
Here's my execution-environment.yaml file:
and requirements.yml file
requirements.txt and bindep.txt for measure:
I hope this helps. |
I have been having this install-from-bindep error using ansible-builder ina playbook that worked a few months ago. I was concentrating on the bindep.txt because it says install-from-bindep has failed. After digging in and adding some debug code to ansible-builder code, I'd identified that the actual docker command ended up being "docker build -f /tmp/eebuild/Dockerfile -t :/awx/ee_ansible5:latest /tmp/eebuild". Executing this command I got more output and quickly determined that one of my PYTHON deps in requirements.txt was causing the issue. Install of suds-jurko that was identified in requirements.txt was throwing 'error in suds-jurko setup command: use_2to3 is invalid.". I changed requirements.txt from suds-jurko to suds and re-ran my playbook as normal (executing ansible-builder) and the build succeeded. So, just noting that A: getting the exact docker command and manually running it may help and B: install-from-bindep errors may actually be python pip install errors. |
I have this same issue, this worked a few months ago and now it is failing for unknown reasons using the process I documented previous. The failure is, Beforehand, earlier in the log, it refers to install-from-bindep with this "too many arguments" error on line 28.
I literally have nothing inside of my execution_environment.yml for the container I am builder, except for an ansible config file. I don't have any python, collection, or binary requirements. But, I still receive this error. Is the error coming from the Ansible builder container? This is also fairly "stock" for us. |
Here is the source of the error, from within the container bash-4.4# /usr/bin/microdnf update -y --nodocs --setopt=install_weak_deps=0 --setopt=rhel-8-for-x86_64-appstream-rpms.excludepkgs=ansible-core |
@AlanCoding @shanemcd @wohnout I ran into this again, but this time, deleting the _build folder and Container file did nothing. I investigated a bit and concluded that the error is being caused by the missing I don't know why the conditional check succeeds, since neither the builder, nor the runner images contain that file(although the builder is the source?) but this can be easily avoided with a change in syntax from
to
Or by allowing us to define the constraints file ourselves, as a dependency, maybe? Should we do that, but is it just not documented? Or by adding an empty /output/upper-constraints.txt file, which is what I ended up doing. This allowed the installation to continue without any errors, as I effectively did not pass any constraints to the pip commands and I was finally, after, 3 days of work on this(yeah, I fumbled a lot), able to get an image ready for our AWX Env, with the new collections installed. Now, the important bit is that I did not use ansible-builder, as ansible-builder rewrites the Containerfile every time it runs.
I have added a comment next to each modification I had to make. Perhaps ansible-builder could allow us to pass some flags that allow the skipping of the Containerfile/Dockerfile recreation. |
I am trying to build custom EE with different version of ansible. I am able to build custom EE with different set of collections or bindep with command
ansible-builder build --tag xxx.azurecr.io/ansible/awx-custom-ee:2.11-65fd33e7f6f2 --context ./ --container-runtime podman
but if add build-arg EE_BASE_IMAGE like this
ansible-builder build --tag xxx.azurecr.io/ansible/awx-custom-ee:2.11-65fd33e7f6f2 --context ./ --container-runtime podman --build-arg EE_BASE_IMAGE=quay.io/ansible/ansible-runner:stable-2.11-latest
It fails with error:
When I do compare between these two outputs it thinks that this file is present
I was able to build same way custom EE few months ago but I am not able anymore.
Can you please help me what I am doing wrong?
The text was updated successfully, but these errors were encountered: