Project

General

Profile

Bug #23136

mgr: disable then enable of Restful plugin does not work without restart of active manager.

Added by Hans van den Bogert over 2 years ago. Updated 9 months ago.

Status:
In Progress
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature:

Description

The restful plugin does not work after a disable/enable cycle:

curl -k https://mon03:8003 {
"api_version": 1,
"auth": "Use \"ceph restful create-key <key>\" to create a key pair, pass it as HTTP Basic auth to authenticate",
"doc": "See /doc endpoint",
"info": "Ceph Manager RESTful API server"
cephadmin@mon03:~$ ceph mgr module disable restful
cephadmin@mon03:~$ ceph mgr module enable restful
cephadmin@mon03:~$ curl --connect-timeout 20 -k https://mon03:8003
curl: (28) Operation timed out after 0 milliseconds with 0 out of 0 bytes received
cephadmin@mon03:~$

History

#1 Updated by John Spray over 2 years ago

  • Project changed from Ceph to mgr
  • Status changed from New to 12

Confirmed. I see we're getting an Address Already in Use.

106088   File "/home/jspray/ceph.bravo/src/pybind/mgr/restful/module.py", line 253, in serve
106089     self._serve()                                                               
106090   File "/home/jspray/ceph.bravo/src/pybind/mgr/restful/module.py", line 328, in _serve
106091     ssl_context=(cert_fname, pkey_fname),                                       
106092   File "/usr/lib/python2.7/dist-packages/werkzeug/serving.py", line 512, in make_server
106093     passthrough_errors, ssl_context)                                            
106094   File "/usr/lib/python2.7/dist-packages/werkzeug/serving.py", line 440, in __init__
106095     HTTPServer.__init__(self, (host, int(port)), handler)                        
106096   File "/usr/lib/python2.7/SocketServer.py", line 417, in __init__              
106097     self.server_bind()                                                          
106098   File "/usr/lib/python2.7/BaseHTTPServer.py", line 108, in server_bind         
106099     SocketServer.TCPServer.server_bind(self)                                    
106100   File "/usr/lib/python2.7/SocketServer.py", line 431, in server_bind           
106101     self.socket.bind(self.server_address)                                       
106102   File "/usr/lib/python2.7/socket.py", line 228, in meth                        
106103     return getattr(self._sock,name)(*args)                                      
106104 error: [Errno 98] Address already in use                                        
106105                                             

#2 Updated by Kefu Chai over 2 years ago

  • Status changed from 12 to In Progress
  • Assignee set to Kefu Chai

https://github.com/ceph/ceph/pull/20365 is aiming to address this. but it needs some more polish.

#3 Updated by Sebastian Wagner 9 months ago

Is this still in progress?

Also available in: Atom PDF