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.
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).
It's expected to see the internal nginx running on port 8052.
nginx is trying to run on port 80 and failing.
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)
Most helpful comment
I just tried 9.3.0 and same issue for me