Bug 1255159

Summary: supervisord fails to start due to inability to create its socket
Product: [Fedora] Fedora EPEL Reporter: George Notaras <gnot>
Component: supervisorAssignee: Steve Traylen <steve.traylen>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: epel7CC: agrimm, imalerba, jal233, kevin, notting, nphilipp, steve.traylen
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: 3.1.3-3.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-08-24 02:52:42 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description George Notaras 2015-08-19 19:40:57 UTC
Description of problem:

supervisord fails to start with the message:

supervisord: Error: Cannot open an HTTP server: socket.error reported errno.ENOENT (2)

Version-Release number of selected component (if applicable):

supervisor-3.1.3-2.el7.noarch

Additional info:

It appears that after a recent update, the socket path has been changed from:

  /var/tmp/supervisor.sock

to:

  /var/run/supervisor/supervisor.sock

Resolution:

This seems to be happening because the `/var/run/supervisor` directory does not exist. If the aforementioned directory is created before running supervisord, the service starts normally.

Please include a tmpfiles configuration so that the needed directory is auto-created.

Comment 1 Kevin Fenzi 2015-08-19 20:21:47 UTC
Bah. I thought I had. ;( 

will try and correct this soon...

Comment 2 Kevin Fenzi 2015-08-19 21:07:43 UTC
Can you test this scratch build and see if it works in your testing: 

https://koji.fedoraproject.org/koji/taskinfo?taskID=10758575

Thanks.

Comment 3 George Notaras 2015-08-19 21:34:34 UTC
Hi Kevin,

Thanks for looking into this. I've updated to supervisor-3.1.3-3.el7.noarch and it seems to fix the issue. supervisord starts without problems and also supervisorctl works as expected (as root).

Comment 4 Bill Nottingham 2015-08-20 20:16:08 UTC
Yes, that fixes the issue we're seeing here as well.

Comment 5 Fedora Update System 2015-08-20 20:27:37 UTC
supervisor-3.1.3-3.el7 has been submitted as an update to Fedora EPEL 7. https://bugzilla.redhat.com/show_bug.cgi?id=1255159

Comment 6 Fedora Update System 2015-08-22 19:48:54 UTC
supervisor-3.1.3-3.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.\nIf you want to test the update, you can install it with \n su -c 'yum --enablerepo=updates-testing update supervisor'. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2015-7728

Comment 7 Fedora Update System 2015-08-24 02:52:41 UTC
supervisor-3.1.3-3.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.

Comment 8 IƱaki Malerba 2020-05-13 16:08:58 UTC
Dear Maintainer,

It looks like this problem returned for 4.2.0-2.

Testing Fedora 31 (4.0.2-2) works fine, but when changing to Fedora 31 I came across the same problem.

This is reproducible on fedora:32 container:

$ cat Dockerfile.f32
FROM fedora:32
RUN dnf install -y supervisor
CMD supervisord

$ docker build -f Dockerfile.f32 -t supervisor-32 .
Sending build context to Docker daemon  3.072kB
Step 1/3 : FROM fedora:32
 ---> ed63f8d268e4
Step 2/3 : RUN dnf install -y supervisor
 ---> Using cache
 ---> d5ccae01301c
Step 3/3 : CMD supervisord
 ---> Using cache
 ---> 98b7bb9472f0
Successfully built 98b7bb9472f0
Successfully tagged supervisor-32:latest

$ docker run --rm -it supervisor-32
/usr/lib/python3.8/site-packages/supervisor/options.py:473: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
  self.warnings.warn(
Error: Cannot open an HTTP server: socket.error reported errno.ENOENT (2)
For help, use /usr/bin/supervisord -h

(Ignore 'running as root' warn)