Project

General

Profile

Bug #43053

mgr/dashboard: NFS Ganesha exception when RGW API port not configured

Added by Ernesto Puerta 3 months ago. Updated 2 months ago.

Status:
New
Priority:
Normal
Category:
dashboard/nfs-ganesha
Target version:
% Done:

0%

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

Description

This was found in Nautilus, but given the code pointed by lower bottom of the traceback hardly changed (settings.py), it could happen in master as well.

The real issue lies in the Settings helper, which I think it's outdated, as ceph-mgr now deals with OPTIONS types.

{"status": "500 Internal Server Error", "detail": "The server encountered an unexpected condition which prevented it from fulfilling the request.", "traceback": "Traceback (most recent call last):
  File "/lib/python3.6/site-packages/cherrypy/_cprequest.py", line 670, in respond
    response.body = self.handler()
  File "/lib/python3.6/site-packages/cherrypy/lib/encoding.py", line 220, in __call__
    self.body = self.oldhandler(*args, **kwargs)
  File "/lib/python3.6/site-packages/cherrypy/_cptools.py", line 237, in wrap
    return self.newhandler(innerfunc, *args, **kwargs)
  File "/usr/share/ceph/mgr/dashboard/services/exception.py", line 88, in dashboard_exception_handler
    return handler(*args, **kwargs)
  File "/lib/python3.6/site-packages/cherrypy/_cpdispatch.py", line 60, in __call__
    return self.callable(*self.args, **self.kwargs)
  File "/usr/share/ceph/mgr/dashboard/controllers/__init__.py", line 649, in inner
    ret = func(*args, **kwargs)
  File "/usr/share/ceph/mgr/dashboard/controllers/nfsganesha.py", line 277, in fsals
    return Ganesha.fsals_available()
  File "/usr/share/ceph/mgr/dashboard/services/ganesha.py", line 153, in fsals_available
    if RgwClient.admin_instance().is_service_online() and 
  File "/usr/share/ceph/mgr/dashboard/services/rgw_client.py", line 275, in admin_instance
    return RgwClient.instance(RgwClient._SYSTEM_USERID)
  File "/usr/share/ceph/mgr/dashboard/services/rgw_client.py", line 248, in instance
    if RgwClient._rgw_settings_snapshot != RgwClient._rgw_settings():
  File "/usr/share/ceph/mgr/dashboard/services/rgw_client.py", line 237, in _rgw_settings
    Settings.RGW_API_PORT,
  File "/usr/share/ceph/mgr/dashboard/settings.py", line 68, in __getattr__
    value = stype(mgr.get_module_option(attr, default))
ValueError: invalid literal for int() with base 10: 'None'
", "version": "8.9.1"}

History

#1 Updated by Lenz Grimmer 2 months ago

  • Assignee set to Tatjana Dehler

Also available in: Atom PDF