Nova api service outputs error messages when SIGHUP signal is sent
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Undecided
|
Rajesh Tailor | ||
oslo-incubator |
Invalid
|
Medium
|
Unassigned |
Bug Description
When SIGHUP signal is send to nova-api service, it stops all the nova-api processes and while restarting the nova-api processes, it throws AttributeError: 'WSGIService' object has no attribute 'reset'.
2014-06-24 15:52:55.185 CRITICAL nova [-] AttributeError: 'WSGIService' object has no attribute 'reset'
2014-06-24 15:52:55.185 TRACE nova Traceback (most recent call last):
2014-06-24 15:52:55.185 TRACE nova File "/usr/local/
2014-06-24 15:52:55.185 TRACE nova sys.exit(main())
2014-06-24 15:52:55.185 TRACE nova File "/opt/stack/
2014-06-24 15:52:55.185 TRACE nova launcher.
2014-06-24 15:52:55.185 TRACE nova File "/opt/stack/
2014-06-24 15:52:55.185 TRACE nova self._start_
2014-06-24 15:52:55.185 TRACE nova File "/opt/stack/
2014-06-24 15:52:55.185 TRACE nova launcher.restart()
2014-06-24 15:52:55.185 TRACE nova File "/opt/stack/
2014-06-24 15:52:55.185 TRACE nova self.services.
2014-06-24 15:52:55.185 TRACE nova File "/opt/stack/
2014-06-24 15:52:55.185 TRACE nova restart_
2014-06-24 15:52:55.185 TRACE nova AttributeError: 'WSGIService' object has no attribute 'reset'
2014-06-24 15:52:55.185 TRACE nova
Steps to reproduce:
1. Run nova-api service as daemon.
2. Send SIGHUP signal to nova-api service
kill -1 <parent_
Changed in nova: | |
assignee: | nobody → Rajesh Tailor (rajesh-tailor) |
Changed in nova: | |
milestone: | none → juno-2 |
status: | Fix Committed → Fix Released |
Changed in oslo: | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in nova: | |
milestone: | juno-2 → 2014.2 |
After adding reset method in WSGIService class.
When SIGHUP signal is send to nova-api service, it stops all the nova-api processes
and while restarting the nova-api processes, it throws
error: [Errno 9] Bad file descriptor.
File "/usr/local/ lib/python2. 7/dist- packages/ eventlet/ hubs/timer. py", line 56, in __call__ lib/python2. 7/dist- packages/ eventlet/ greenthread. py", line 194, in main lib/python2. 7/dist- packages/ eventlet/ wsgi.py" , line 635, in server python2. 7/socket. py", line 224, in meth lib/python2. 7/dist- packages/ eventlet/ greenthread. py", line 194, in main lib/python2. 7/dist- packages/ eventlet/ hubs/hub. py", line 346, in fire_timers lib/python2. 7/dist- packages/ eventlet/ hubs/timer. py", line 56, in __call__ lib/python2. 7/dist- packages/ eventlet/ greenthread. py", line 194, in main lib/python2. 7/dist- packages/ eventlet/ wsgi.py" , line 635, in server lib/python2. 7/dist- packages/ eventlet/ hubs/timer. py", line 56, in __call__ lib/python2. 7/dist- packages/ eventlet/ hubs/timer. py", line 56, in __call__ lib/python2. 7/dist- packages/ eventlet/ greenthread. py", line 194, in main lib/python2. 7/dist- packages/ eventlet/ greenthread. py", line 194, in main lib/python2. 7/dist- packages/ eventlet/ hubs/hub. py", line 346, in fire_timers lib/python2. 7/dist- packages/ eventlet/ hubs/timer. py", line 56, in __call__ lib/python2. 7/dist- packages/ eventlet/ wsgi.py" , line 635, in server self._sock, name)(* args) lib/python2. 7/dist- packages/ eventlet/ wsgi.py" , line 635, in server lib/python2. 7/dist- packages/ eventlet/ hubs/hub. py", line 346, in fire_timers lib/python2. 7/dist- packages/ eventlet/ hubs/hub. py", line 346, in fire_timers python2. 7/socket. py", line 224, in meth lib/python2. 7/dist- packages/ eventlet/ hubs/timer. py", line 56, in __call__ lib/python2. 7/dist- packages/ eventlet/ hubs/timer. py", line 56, in __call__ python2. 7/socket. py", line 224, in meth self._sock, name)(* args) lib/python2. 7/dist- pac...
cb(*args, **kw)
File "/usr/local/
result = function(*args, **kwargs)
File "/usr/local/
Traceback (most recent call last):
Traceback (most recent call last):
serv = Server(sock, sock.getsockname(),
File "/usr/lib/
File "/usr/local/
2014-06-26 20:38:34.240 INFO nova.wsgi [-] WSGI server has stopped.
File "/usr/local/
File "/usr/local/
cb(*args, **kw)
File "/usr/local/
timer()
result = function(*args, **kwargs)
File "/usr/local/
timer()
File "/usr/local/
File "/usr/local/
cb(*args, **kw)
File "/usr/local/
serv = Server(sock, sock.getsockname(),
2014-06-26 20:38:34.241 INFO nova.wsgi [-] WSGI server has stopped.
cb(*args, **kw)
File "/usr/local/
2014-06-26 20:38:34.241 INFO nova.wsgi [-] WSGI server has stopped.
File "/usr/local/
result = function(*args, **kwargs)
File "/usr/local/
File "/usr/local/
Traceback (most recent call last):
result = function(*args, **kwargs)
return getattr(
File "/usr/local/
Traceback (most recent call last):
result = function(*args, **kwargs)
Traceback (most recent call last):
File "/usr/local/
File "/usr/local/
serv = Server(sock, sock.getsockname(),
File "/usr/lib/
timer()
File "/usr/local/
timer()
File "/usr/local/
File "/usr/lib/
timer()
return getattr(
File "/usr/local/