Skip to content
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

quay image out of date #376

Closed
ryanmerolle opened this issue May 5, 2022 · 12 comments
Closed

quay image out of date #376

ryanmerolle opened this issue May 5, 2022 · 12 comments
Labels
enhancement New feature or request

Comments

@ryanmerolle
Copy link

Looking at quay, it seems the ansible-builder has not been rebuilt in 3 months & when you download the image, in pip the installed ansible-builder version is 1.0.0.0a3.dev100 instead of 1.1.0.

Can someone correct this build to reflect the new ansible-builder version?

Thanks!

@github-actions github-actions bot added the needs_triage New item that needs to be triaged label May 5, 2022
@Akasurde
Copy link
Member

Akasurde commented May 5, 2022

@ryanmerolle Thanks for reporting this. We are working on revamping the pypi and container release pipelines. We will keep you posted.

@eqrx eqrx removed the needs_triage New item that needs to be triaged label May 17, 2022
@ryanmerolle
Copy link
Author

@Akasurde I see ansible-builder on pypi. Thanks! I think I will just build my own image for now. I am also happy to PR an updated Dockerfile.

@MallocArray
Copy link

@ryanmerolle Thanks for reporting this. We are working on revamping the pypi and container release pipelines. We will keep you posted.

Any ETA on when the release pipeline work will be completed?

@ryanmerolle
Copy link
Author

Any ETA on when the release pipeline work will be completed?

I unofficially heard mention when I raised this, it was months out due to a whole refactor of the current workflow. Last I also heard, there was no ETA. You can just build the image yourself locally.

@ryanmerolle
Copy link
Author

For anyone that needs it, I updated the runner and builder images to stream9 and got everything working.

An example of how to use them can be found here

@Akasurde
Copy link
Member

@ryanmerolle We just uploaded beta version for Ansible Builder which allows users to use custom base images. Could you please give it a try and provide feedback? Here is a sample ee file -

---
version: 3

images:
  base_image:
    name: quay.io/centos/centos:stream9  # vanilla image!

dependencies:
  python_interpreter:
    package_system: python39
    python_path: /usr/bin/python3.9

  ansible_core:
    package_pip: ansible==7.0.0

  ansible_runner:
    package_pip: ansible-runner==2.2.1   # install from PyPI

@Akasurde Akasurde added the enhancement New feature or request label Apr 20, 2023
@ryanmerolle
Copy link
Author

all my previous challenges with builder have been resolved. Thanks!

Thanks to @Akasurde @Shrews and to everyone else to work on this release!

@MallocArray
Copy link

I just spent the afternoon trying it out as well, with overall success.

The change from Python 3.8 to 3.9 as the minimum caused the most hassle, as my pipeline agents from Azure DevOps defaulted to 3.8 and I struggled to get it to use the newer versions that are supposed to be installed. Ended up forcefully installing 3.9 and an updated pip to be able to get ansible-builder installed. Beyond that, it built as expected

             sudo apt-get install python3.9 -y
              sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 1
              sudo update-alternatives --set python /usr/bin/python3.9
              wget https://bootstrap.pypa.io/get-pip.py
              sudo python get-pip.py
              sudo pip3 install ansible-builder==3.0.0rc1  # Will want to set this to >= 3.0 once it is officially released
              ansible-builder --version

One thing I did notice that the version of pip installed in the EE is showing up as 21.2.3 for me, where my previous method, which I based on the Dockerfile for awx-ee, was installing pip 23.1 inside of the EE. Not sure if this is a big deal, but I was expecting it to be updated like everything else.

I was able to have it use Docker to build the image and pass --build-args to use my company proxy settings so it could communicate to the Internet, which we couldn't do with earlier versions of ansible-builder and had to have it only create the Dockerfile and then we used Docker commands to build and pass the args, so glad to have that as one step now.

@ryanmerolle
Copy link
Author

ryanmerolle commented Apr 27, 2023

I was working on publishing a public ee repo for others to use as an example, so I used the centros:stream9 image.

I am using ansible-builder==3.0.0rc1

It looks like builder currently fails giving conflicting package issues.

---
# execution-environment.yml
---
version: 3

dependencies:
  ansible_core:
    package_pip: ansible-core==2.14.5
  ansible_runner:
    package_pip: ansible-runner
  galaxy: requirements.yml
  python: requirements.txt
  #system: bindep.txt

images:
  base_image:
    name: quay.io/centos/centos:stream9

additional_build_files:
    - src: files/ansible.cfg
      dest: configs

error:

#22 15.21 + /usr/bin/dnf install -y curl git less make python3-cffi python3-cryptography python3-lxml python3-pycparser python3-six rsync sshpass vim wget
#22 15.57 Last metadata expiration check: 0:00:01 ago on Thu Apr 27 13:20:46 2023.
#22 15.66 Error: 
#22 15.66  Problem: problem with installed package curl-minimal-7.76.1-23.el9.x86_64
#22 15.66   - package curl-minimal-7.76.1-23.el9.x86_64 conflicts with curl provided by curl-7.76.1-23.el9.x86_64
#22 15.66   - package curl-minimal-7.76.1-19.el9.x86_64 conflicts with curl provided by curl-7.76.1-23.el9.x86_64
#22 15.66   - package curl-minimal-7.76.1-20.el9.x86_64 conflicts with curl provided by curl-7.76.1-23.el9.x86_64
#22 15.66   - package curl-minimal-7.76.1-21.el9.x86_64 conflicts with curl provided by curl-7.76.1-23.el9.x86_64
#22 15.66   - package curl-minimal-7.76.1-22.el9.x86_64 conflicts with curl provided by curl-7.76.1-23.el9.x86_64
#22 15.66   - package curl-minimal-7.76.1-12.el9.x86_64 conflicts with curl provided by curl-7.76.1-23.el9.x86_64
#22 15.66   - package curl-minimal-7.76.1-14.el9.x86_64 conflicts with curl provided by curl-7.76.1-23.el9.x86_64
#22 15.66   - cannot install the best candidate for the job
#22 15.66 (try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
#22 ERROR: executor failed running [/bin/sh -c /output/scripts/install-from-bindep && rm -rf /output/wheels]: exit code: 1
------
 > [final 4/8] RUN /output/scripts/install-from-bindep && rm -rf /output/wheels:
------
executor failed running [/bin/sh -c /output/scripts/install-from-bindep && rm -rf /output/wheels]: exit code: 1

An error occurred (rc=1), see output line(s) above for details.

@Shrews
Copy link
Contributor

Shrews commented Apr 27, 2023

Appreciate the kudos!

@ryanmerolle You may be interested in #493 as the issue above seems like something that builder may not have control over... and don't get me started on the stability of centos:stream9. :-)

Appreciate you folks testing out the new builder! We're excited about it too. Please open new issues for any new bugs you may find along the way instead of using existing issues so we can properly track them.

And since we don't intend to maintain the quay.io images anymore, I'll close this for us.

@Shrews Shrews closed this as completed Apr 27, 2023
@MallocArray
Copy link

@ryanmerolle I had the same message about curl when I had curl in my bindep.txt file. I removed it and the error went away and I had curl already in my image. You don't seem to have the system: line enabled, so not sure where yours is trying to install curl from.

@ryanmerolle
Copy link
Author

I just moved to stream8 for now. Its really just a reference for people to refer to.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants