After deploying Ceph Nautilus on Eoan I installed the ceph-mgr-dashboard package and tried to enable the dashboard with:
sudo ceph mgr module enable dashboard
The following error is returned:
Error ENOENT: module 'dashboard' reports that it cannot run on the active manager daemon: No module named 'distutils.util' (pass --force to force enablement)
Investigating the ceph-mgr logs I found:
2020-01-05 00:23:13.698 7f74b423cd00 -1 mgr[py] Traceback (most recent call last):
File "/usr/share/ceph/mgr/dashboard/__init__.py", line 38, in <module>
from .module import Module, StandbyModule
File "/usr/share/ceph/mgr/dashboard/module.py", line 26, in <module>
from .services.sso import load_sso_db
File "/usr/share/ceph/mgr/dashboard/services/sso.py", line 21, in <module>
from ..tools import prepare_url_prefix
File "/usr/share/ceph/mgr/dashboard/tools.py", line 11, in <module>
from distutils.util import strtobool
ModuleNotFoundError: No module named 'distutils.util'
I then installed python3-distutils which let me get further but the dashboard still wasn't starting compaining about no cert configured so I ran:
ceph config set mgr mgr/dashboard/ssl false
Now ceph status reports the error:
Module 'dashboard' has failed: No module named 'routes'
Investigating the logs I found:
2020-01-05 00:30:19.990 7f663bd26700 -1 log_channel(cluster) log [ERR] : Unhandled exception from module 'dashboard' while running on mgr.ceph-mon2: No module named 'routes'
2020-01-05 00:30:19.990 7f663bd26700 -1 dashboard.serve:
2020-01-05 00:30:19.990 7f663bd26700 -1 Traceback (most recent call last):
File "/usr/share/ceph/mgr/dashboard/module.py", line 362, in serve
mapper, parent_urls = generate_routes(self.url_prefix)
File "/usr/share/ceph/mgr/dashboard/controllers/__init__.py", line 336, in generate_routes
mapper = cherrypy.dispatch.RoutesDispatcher()
File "/lib/python3/dist-packages/cherrypy/_cpdispatch.py", line 515, in __init__
import routes
ModuleNotFoundError: No module named 'routes'
This was addressed by installing the python3-routes package.
Based on this I believe both python3-distutils and python3-routes should be added to the dependencies of the ceph-mgr-dashboard package.
After deploying Ceph Nautilus on Eoan I installed the ceph-mgr-dashboard package and tried to enable the dashboard with:
sudo ceph mgr module enable dashboard
The following error is returned:
Error ENOENT: module 'dashboard' reports that it cannot run on the active manager daemon: No module named 'distutils.util' (pass --force to force enablement)
Investigating the ceph-mgr logs I found:
2020-01-05 00:23:13.698 7f74b423cd00 -1 mgr[py] Traceback (most recent call last): ceph/mgr/ dashboard/ __init_ _.py", line 38, in <module> ceph/mgr/ dashboard/ module. py", line 26, in <module> ceph/mgr/ dashboard/ services/ sso.py" , line 21, in <module> ceph/mgr/ dashboard/ tools.py" , line 11, in <module> rror: No module named 'distutils.util'
File "/usr/share/
from .module import Module, StandbyModule
File "/usr/share/
from .services.sso import load_sso_db
File "/usr/share/
from ..tools import prepare_url_prefix
File "/usr/share/
from distutils.util import strtobool
ModuleNotFoundE
I then installed python3-distutils which let me get further but the dashboard still wasn't starting compaining about no cert configured so I ran:
ceph config set mgr mgr/dashboard/ssl false
Now ceph status reports the error:
Module 'dashboard' has failed: No module named 'routes'
Investigating the logs I found:
2020-01-05 00:30:19.990 7f663bd26700 -1 log_channel( cluster) log [ERR] : Unhandled exception from module 'dashboard' while running on mgr.ceph-mon2: No module named 'routes' ceph/mgr/ dashboard/ module. py", line 362, in serve routes( self.url_ prefix) ceph/mgr/ dashboard/ controllers/ __init_ _.py", line 336, in generate_routes dispatch. RoutesDispatche r() dist-packages/ cherrypy/ _cpdispatch. py", line 515, in __init__ rror: No module named 'routes'
2020-01-05 00:30:19.990 7f663bd26700 -1 dashboard.serve:
2020-01-05 00:30:19.990 7f663bd26700 -1 Traceback (most recent call last):
File "/usr/share/
mapper, parent_urls = generate_
File "/usr/share/
mapper = cherrypy.
File "/lib/python3/
import routes
ModuleNotFoundE
This was addressed by installing the python3-routes package.
Based on this I believe both python3-distutils and python3-routes should be added to the dependencies of the ceph-mgr-dashboard package.