Awx: Internal nginx failing in AWX-Web (deployed with Dockerhub image)

Created on 9 Dec 2019  路  8Comments  路  Source: ansible/awx

ISSUE TYPE
  • Bug Report
SUMMARY

After upgrading AWX to the latest version (using the official Dockerhub image), the internal nginx is trying to run on port 80 instead of 8052. The error is the following:

2019-12-09 16:32:13,983 INFO     Starting server at tcp:port=8051:interface=127.0.0.1, channel layer awx.asgi:channel_layer.
2019-12-09 16:32:13,991 INFO     HTTP/2 support not enabled (install the http2 and tls Twisted extras)
2019-12-09 16:32:13,991 INFO     Using busy-loop synchronous mode on channel layer
2019-12-09 16:32:13,991 INFO     Listening on endpoint tcp:port=8051:interface=127.0.0.1
WSGI app 0 (mountpoint='') ready in 6 seconds on interpreter 0x2721770 pid: 127 (default app)
2019-12-09 16:32:15,750 INFO spawned: 'nginx' with pid 170
2019/12/09 16:32:15 [warn] 170#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:5
nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:5
2019/12/09 16:32:15 [emerg] 170#0: bind() to 0.0.0.0:80 failed (13: Permission denied)
nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
2019-12-09 16:32:16,143 INFO exited: nginx (exit status 1; not expected)

This bug was also reported in the following bug report:

https://github.com/ansible/awx/issues/5205#issuecomment-548944075

Although it was closed, the bug still persists in the image 9.0.1 (from Dockerhub). I tried a new installation in another clear machine and got the same error.

ENVIRONMENT
  • AWX version: 9.0.1
  • AWX install method: docker on linux
  • Ansible version: -
  • Operating System: Ubuntu 18.04
  • Web Browser: Any
STEPS TO REPRODUCE

Just deploy the full stack (awx-task, awx-web, memcached, postgresql, rabbitmq) and then the awx-web will be running (the container does not die) but not working properly (internal nginx does not run).

EXPECTED RESULTS

It's expected to see the internal nginx running on port 8052.

ACTUAL RESULTS

nginx is trying to run on port 80 and failing.

ADDITIONAL INFORMATION
bug

Most helpful comment

I just tried 9.3.0 and same issue for me

2020/03/18 17:43:25 [warn] 155#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:5nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:5 
2020/03/18 17:43:25 [emerg] 155#0: bind() to 0.0.0.0:80 failed (13: Permission denied)   

All 8 comments

Confirmed to be an issue with 9.1.1 as well.

Confirming same issue here on Kubernetes v1.16.2 using awx web container 9.1.1

Any update on this issue?

It try to run nginx on 80 port without root permission, so it failed.

I ran the AWX web image in Kubernetes cluster with our helm chart,
I update the nginx.conf by using configMaps:
https://github.com/LarvataTW/helm-charts/blob/5b78cd1e4b2cf5f2df69412214278e7beb024dad/charts/awx/templates/configmap.yaml#L115

That works indeed. The current workaround I am using is to mount a custom nginx.conf file. Another guy explained the same workaround here:

https://github.com/ansible/awx/issues/5205#issuecomment-577835138

However, the default nginx.conf file inside of the Docker image used to work in the previous versions (before the 9.0.0). They changed that file and now we are required to overwrite it.

Same after upgrading from 8.0.0 to 9.2.0.
Any update ?

I'm seeing this with 9.2.0

I just tried 9.3.0 and same issue for me

2020/03/18 17:43:25 [warn] 155#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:5nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:5 
2020/03/18 17:43:25 [emerg] 155#0: bind() to 0.0.0.0:80 failed (13: Permission denied)   
Was this page helpful?
0 / 5 - 0 ratings