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

Error when executing Makefile with docker-compose-build - Unable to find openssl-3.0.7 #15600

Open
5 of 11 tasks
CodenamePhantom opened this issue Oct 24, 2024 · 8 comments
Open
5 of 11 tasks

Comments

@CodenamePhantom
Copy link

Please confirm the following

  • I agree to follow this project's code of conduct.
  • I have checked the current issues for duplicates.
  • I understand that AWX is open source software provided for free and that I might not receive a timely response.
  • I am NOT reporting a (potential) security vulnerability. (These should be emailed to security@ansible.com instead.)

Bug Summary

sudo make docker-compose-build
ansible-playbook -e ansible_python_interpreter=python3 tools/ansible/dockerfile.yml
-e dockerfile_name=Dockerfile.dev
-e build_dev=True
-e receptor_image=quay.io/ansible/receptor:devel
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'

PLAY [Render AWX Dockerfile and sources] *************************************************************************************************************************************************************************************************

TASK [Gathering Facts] *******************************************************************************************************************************************************************************************************************
ok: [localhost]

TASK [dockerfile : Create _build directory] **********************************************************************************************************************************************************************************************
ok: [localhost]

TASK [dockerfile : Render supervisor configs] ********************************************************************************************************************************************************************************************
ok: [localhost] => (item=supervisor_web.conf)
ok: [localhost] => (item=supervisor_task.conf)
ok: [localhost] => (item=supervisor_rsyslog.conf)

TASK [dockerfile : Render Dockerfile] ****************************************************************************************************************************************************************************************************
ok: [localhost]

PLAY RECAP *******************************************************************************************************************************************************************************************************************************
localhost : ok=4 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

DOCKER_BUILDKIT=1 docker build
-f Dockerfile.dev
-t ghcr.io/ansible/awx_devel:HEAD
--build-arg BUILDKIT_INLINE_CACHE=1
--cache-from=ghcr.io/ansible/awx_devel:HEAD .
[+] Building 25.1s (13/50) docker:default
=> [internal] load build definition from Dockerfile.dev 0.0s
=> => transferring dockerfile: 7.93kB 0.0s
=> WARN: FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 8) 0.0s
=> [internal] load metadata for quay.io/centos/centos:stream9 0.5s
=> [internal] load metadata for quay.io/ansible/receptor:devel 0.9s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 115B 0.0s
=> ERROR importing cache manifest from ghcr.io/ansible/awx_devel:HEAD 0.3s
=> [internal] load build context 0.0s
=> => transferring context: 2.42kB 0.0s
=> CACHED FROM quay.io/ansible/receptor:devel@sha256:8dd293df3843d2e7306f718795ab60198614911ab209a3926f01df2b9c2c28f7 0.0s
=> [builder 1/10] FROM quay.io/centos/centos:stream9@sha256:83157fe5138fa2964b2698e90ecaa43cf020a4e329653049f4bfb7b04fdde9a0 0.0s
=> [stage-1 3/34] ADD https://copr.fedorainfracloud.org/coprs/ansible/Rsyslog/repo/epel-9/ansible-Rsyslog-epel-9.repo /etc/yum.repos.d/ansible-Rsyslog-epel-9.repo 0.7s
=> CACHED [builder 2/10] RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial 0.0s
=> CANCELED [builder 3/10] RUN dnf -y update && dnf install -y 'dnf-command(config-manager)' && dnf config-manager --set-enabled crb && dnf -y install iputils gcc gcc-c++ git-core gettext glib 23.7s
=> CACHED [stage-1 3/34] ADD https://copr.fedorainfracloud.org/coprs/ansible/Rsyslog/repo/epel-9/ansible-Rsyslog-epel-9.repo /etc/yum.repos.d/ansible-Rsyslog-epel-9.repo 0.0s
=> ERROR [stage-1 4/34] RUN dnf -y update && dnf install -y 'dnf-command(config-manager)' && dnf config-manager --set-enabled crb && dnf -y install acl git-core git-lfs glibc-langpack-en krb5-workstat 22.8s

importing cache manifest from ghcr.io/ansible/awx_devel:HEAD:



[stage-1 4/34] RUN dnf -y update && dnf install -y 'dnf-command(config-manager)' && dnf config-manager --set-enabled crb && dnf -y install acl git-core git-lfs glibc-langpack-en krb5-workstation nginx "openldap >= 2.6.2-3" openssl-3.0.7 postgresql python3.11 "python3.11-devel" "python3.11-pip*" "python3.11-setuptools" "python3.11-packaging" "python3.11-psycopg2" rsync rsyslog-8.2102.0-106.el9 subversion sudo vim-minimal which unzip xmlsec1-openssl && dnf -y clean all:
0.211 /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
0.293 Failed to set locale, defaulting to C.UTF-8
0.665 Copr repo for Rsyslog owned by ansible 195 kB/s | 40 kB 00:00
2.849 CentOS Stream 9 - BaseOS 3.8 MB/s | 8.3 MB 00:02
6.427 CentOS Stream 9 - AppStream 10 MB/s | 21 MB 00:01
12.73 CentOS Stream 9 - Extras packages 30 kB/s | 19 kB 00:00
14.18 Dependencies resolved.
14.19 Nothing to do.
14.19 Complete!
14.39 Failed to set locale, defaulting to C.UTF-8
14.91 Last metadata expiration check: 0:00:02 ago on Thu Oct 24 17:36:13 2024.
15.04 Dependencies resolved.
15.04 ================================================================================
15.04 Package Architecture Version Repository Size
15.04 ================================================================================
15.04 Installing:
15.04 dnf-plugins-core noarch 4.3.0-17.el9 baseos 37 k
15.04
15.04 Transaction Summary
15.04 ================================================================================
15.04 Install 1 Package
15.04
15.04 Total download size: 37 k
15.04 Installed size: 22 k
15.04 Downloading Packages:
16.72 dnf-plugins-core-4.3.0-17.el9.noarch.rpm 40 kB/s | 37 kB 00:00
16.73 --------------------------------------------------------------------------------
16.73 Total 22 kB/s | 37 kB 00:01
16.74 Running transaction check
16.75 Transaction check succeeded.
16.75 Running transaction test
16.75 Transaction test succeeded.
16.75 Running transaction
16.81 Preparing : 1/1
16.85 Installing : dnf-plugins-core-4.3.0-17.el9.noarch 1/1
16.93 Verifying : dnf-plugins-core-4.3.0-17.el9.noarch 1/1
17.04
17.04 Installed:
17.04 dnf-plugins-core-4.3.0-17.el9.noarch
17.04
17.04 Complete!
17.27 Failed to set locale, defaulting to C.UTF-8
17.60 Failed to set locale, defaulting to C.UTF-8
18.40 CentOS Stream 9 - BaseOS 50 kB/s | 30 kB 00:00
18.48 CentOS Stream 9 - AppStream 846 kB/s | 31 kB 00:00
19.31 CentOS Stream 9 - CRB 9.3 MB/s | 6.6 MB 00:00
22.18 Package openldap-2.6.6-3.el9.x86_64 is already installed.
22.19 No match for argument: openssl-3.0.7
22.21 Package vim-minimal-2:8.2.2637-21.el9.x86_64 is already installed.
22.24 Error: Unable to find a match: openssl-3.0.7


Dockerfile.dev:89

88 | # Install runtime requirements
89 | >>> RUN dnf -y update && dnf install -y 'dnf-command(config-manager)' &&
90 | >>> dnf config-manager --set-enabled crb &&
91 | >>> dnf -y install acl
92 | >>> git-core
93 | >>> git-lfs
94 | >>> glibc-langpack-en
95 | >>> krb5-workstation
96 | >>> nginx
97 | >>> "openldap >= 2.6.2-3"
98 | >>> # pin to older openssl, see jira AAP-23449
99 | >>> openssl-3.0.7
100 | >>> postgresql
101 | >>> python3.11
102 | >>> "python3.11-devel"
103 | >>> "python3.11-pip*"
104 | >>> "python3.11-setuptools"
105 | >>> "python3.11-packaging"
106 | >>> "python3.11-psycopg2"
107 | >>> rsync
108 | >>> rsyslog-8.2102.0-106.el9
109 | >>> subversion
110 | >>> sudo
111 | >>> vim-minimal
112 | >>> which
113 | >>> unzip
114 | >>> xmlsec1-openssl &&
115 | >>> dnf -y clean all
116 |

ERROR: failed to solve: process "/bin/sh -c dnf -y update && dnf install -y 'dnf-command(config-manager)' && dnf config-manager --set-enabled crb && dnf -y install acl git-core git-lfs glibc-langpack-en krb5-workstation nginx "openldap >= 2.6.2-3" openssl-3.0.7 postgresql python3.11 "python3.11-devel" "python3.11-pip*" "python3.11-setuptools" "python3.11-packaging" "python3.11-psycopg2" rsync rsyslog-8.2102.0-106.el9 subversion sudo vim-minimal which unzip xmlsec1-openssl && dnf -y clean all" did not complete successfully: exit code: 1
make: *** [Makefile:605: docker-compose-build] Error 1

AWX version

26.6.1/26.6.0

Select the relevant components

  • UI
  • UI (tech preview)
  • API
  • Docs
  • Collection
  • CLI
  • Other

Installation method

docker development environment

Modifications

yes

Ansible version

No response

Operating system

AlmaLinux 24.9

Web browser

Chrome

Steps to reproduce

  • clone the package from github
  • execute make docker-compose-build

Expected results

Make procedures finished successfully

Actual results

dnf procedures results in an error in which it's unable to find a correspondent for openssl-3.0.7

Additional information

Removing the hardcoded version from the Dockerfile.js2 inside tools/ansible/roles/dockerfile/templates/ and leaving just the package resolves the issue

@brootware
Copy link

brootware commented Oct 25, 2024

Hi I'm running into the same error too. I tried taking out the openssl-3.0.7 from tools/ansible/roles/dockerfile/templates/ but it still seems to be building the dockerfile using the template.

Update: Seems to be fixed. But running into other dependency errors with pip now. Weird that there are no openssl-3.0.7 version listed at https://github.com/ansible/awx/blob/devel/tools/ansible/roles/dockerfile/templates/Dockerfile.j2. But following the instructions on https://github.com/ansible/awx/blob/devel/tools/docker-compose/README.md includes it instead.

Setting up simple AWX on docker seems so complicated now.

@best-74
Copy link

best-74 commented Oct 30, 2024

Update: Seems to be fixed. But running into other dependency errors with pip now. Weird that there are no openssl-3.0.7 version listed at https://github.com/ansible/awx/blob/devel/tools/ansible/roles/dockerfile/templates/Dockerfile.j2. But following the instructions on https://github.com/ansible/awx/blob/devel/tools/docker-compose/README.md includes it instead.

Setting up simple AWX on docker seems so complicated now.

did you find a fix for the pip dependency fails? I'm having the same issue..

97.17
97.17 The conflict is caused by:
97.17 The user requested django==4.2.10
97.17 channels 3.0.5 depends on Django>=2.2
97.17 django-auth-ldap 4.6.0 depends on Django>=3.2
97.17 django-cors-headers 4.3.1 depends on Django>=3.2
97.17 django-crum 0.7.9 depends on django>=1.8
97.17 django-extensions 3.2.3 depends on Django>=3.2
97.17 django-guid 3.2.1 depends on django<5.0 and >=3.1.1; python_version >= "3.8"
97.17 django-oauth-toolkit 1.7.1 depends on django!=4.0.0 and >=2.2
97.17 django-polymorphic 3.1.0 depends on Django>=2.1
97.17 django-solo 2.2.0 depends on django>=3.2
97.17 djangorestframework 3.15.1 depends on django>=3.0
97.17 social-auth-app-django 5.4.0 depends on Django>=3.2
97.17 django-ansible-base[jwt-consumer,rbac,resource-registry,rest-filters] 2024.10.29.0.dev4+g0140edb depends on Django<4.3.0 and >=4.2.16
97.17
97.17 To fix this you could try to:
97.17 1. loosen the range of package versions you've specified
97.17 2. remove package versions to allow pip attempt to solve the dependency conflict
97.17
97.17 ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies
97.18 WARNING: You are using pip version 21.2.4; however, version 24.3.1 is available.
97.18 You should consider upgrading via the '/var/lib/awx/venv/awx/bin/python3.11 -m pip install --upgrade pip' command.
98.57 make: *** [Makefile:181: requirements_awx] Error 1

@brootware
Copy link

brootware commented Oct 31, 2024

Update: Seems to be fixed. But running into other dependency errors with pip now. Weird that there are no openssl-3.0.7 version listed at https://github.com/ansible/awx/blob/devel/tools/ansible/roles/dockerfile/templates/Dockerfile.j2. But following the instructions on https://github.com/ansible/awx/blob/devel/tools/docker-compose/README.md includes it instead.
Setting up simple AWX on docker seems so complicated now.

did you find a fix for the pip dependency fails? I'm having the same issue..

97.17 97.17 The conflict is caused by: 97.17 The user requested django==4.2.10 97.17 channels 3.0.5 depends on Django>=2.2 97.17 django-auth-ldap 4.6.0 depends on Django>=3.2 97.17 django-cors-headers 4.3.1 depends on Django>=3.2 97.17 django-crum 0.7.9 depends on django>=1.8 97.17 django-extensions 3.2.3 depends on Django>=3.2 97.17 django-guid 3.2.1 depends on django<5.0 and >=3.1.1; python_version >= "3.8" 97.17 django-oauth-toolkit 1.7.1 depends on django!=4.0.0 and >=2.2 97.17 django-polymorphic 3.1.0 depends on Django>=2.1 97.17 django-solo 2.2.0 depends on django>=3.2 97.17 djangorestframework 3.15.1 depends on django>=3.0 97.17 social-auth-app-django 5.4.0 depends on Django>=3.2 97.17 django-ansible-base[jwt-consumer,rbac,resource-registry,rest-filters] 2024.10.29.0.dev4+g0140edb depends on Django<4.3.0 and >=4.2.16 97.17 97.17 To fix this you could try to: 97.17 1. loosen the range of package versions you've specified 97.17 2. remove package versions to allow pip attempt to solve the dependency conflict 97.17 97.17 ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies 97.18 WARNING: You are using pip version 21.2.4; however, version 24.3.1 is available. 97.18 You should consider upgrading via the '/var/lib/awx/venv/awx/bin/python3.11 -m pip install --upgrade pip' command. 98.57 make: *** [Makefile:181: requirements_awx] Error 1

Try changing your Django version in pip file to Django~=4.2.16

I never really found a fix and used alternative guide to follow installing and successfully installed it on CentOs Stream9 with k3s using awx-operator. I'd recommend putting CPU architecture to x86 for CentOs if you're installing on a hypervisor like proxmox or ESX.

@CodenamePhantom
Copy link
Author

CodenamePhantom commented Oct 31, 2024

Update: Seems to be fixed. But running into other dependency errors with pip now. Weird that there are no openssl-3.0.7 version listed at https://github.com/ansible/awx/blob/devel/tools/ansible/roles/dockerfile/templates/Dockerfile.j2. But following the instructions on https://github.com/ansible/awx/blob/devel/tools/docker-compose/README.md includes it instead.
Setting up simple AWX on docker seems so complicated now.

did you find a fix for the pip dependency fails? I'm having the same issue..
97.17 97.17 The conflict is caused by: 97.17 The user requested django==4.2.10 97.17 channels 3.0.5 depends on Django>=2.2 97.17 django-auth-ldap 4.6.0 depends on Django>=3.2 97.17 django-cors-headers 4.3.1 depends on Django>=3.2 97.17 django-crum 0.7.9 depends on django>=1.8 97.17 django-extensions 3.2.3 depends on Django>=3.2 97.17 django-guid 3.2.1 depends on django<5.0 and >=3.1.1; python_version >= "3.8" 97.17 django-oauth-toolkit 1.7.1 depends on django!=4.0.0 and >=2.2 97.17 django-polymorphic 3.1.0 depends on Django>=2.1 97.17 django-solo 2.2.0 depends on django>=3.2 97.17 djangorestframework 3.15.1 depends on django>=3.0 97.17 social-auth-app-django 5.4.0 depends on Django>=3.2 97.17 django-ansible-base[jwt-consumer,rbac,resource-registry,rest-filters] 2024.10.29.0.dev4+g0140edb depends on Django<4.3.0 and >=4.2.16 97.17 97.17 To fix this you could try to: 97.17 1. loosen the range of package versions you've specified 97.17 2. remove package versions to allow pip attempt to solve the dependency conflict 97.17 97.17 ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies 97.18 WARNING: You are using pip version 21.2.4; however, version 24.3.1 is available. 97.18 You should consider upgrading via the '/var/lib/awx/venv/awx/bin/python3.11 -m pip install --upgrade pip' command. 98.57 make: *** [Makefile:181: requirements_awx] Error 1

Try changing your Django version in pip file to Django~=4.2.16

I never really found a fix and used alternative guide to follow installing and successfully installed it on CentOs Stream9 with k3s using awx-operator. I'd recommend putting CPU architecture to x86 for CentOs if you're installing on a hypervisor like proxmox or ESX.

I removed the hard coded versions from the requirements.txt files. This lets pip manage the dependencies himself and solves the issue.

But i do recommend skipping the docker container installation and going directly to Kubernetes using minikube. It's not that hard of a installation to go through and way more reliable.

@best-74
Copy link

best-74 commented Nov 1, 2024

But i do recommend skipping the docker container installation and going directly to Kubernetes using minikube. It's not that hard of a installation to go through and way more reliable.

Yeah, need to look into that... But honestly i have a hard time understanding what/how AWX is put together... Seems unnecessary complicated. Updating is really a hassle...

We do have at Tanzu Kube setup, so should be able to put it there, just have to find some good guide for it.

@caboteria
Copy link

This is likely fixed by #15498 which removes the explicit openssl-3.0.7 package installation.

@caboteria
Copy link

The pip/Django failure mentioned in #15600 (comment) is likely fixed by c85fa70, at least if I apply that fix by hand the build works for me.

@best-74
Copy link

best-74 commented Nov 6, 2024

Well, i actually got the build to work, but i am losing all data, it's a blank new awx database, can still find the old volume, but havent had any luck importing it to the new PG db without issues.

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

No branches or pull requests

4 participants