Bug #24648
open'ceph mgr enable/disable <module>' interrupts all other modules
0%
Description
Adding or removing Ceph Mgr Modules interrupts all other modules. While this might have minimal impact with background/long-running modules, for user-facing ones like Ceph Dashboard, it results, for example, in the users becoming logged out.
Steps (v13.0.0-v14.y.z):
- Log to Ceph Dashboard
- Enable new module: ceph mgr module enable hello
- All users logged/working on the Ceph dashboard will be automatically logged out.
Log traces confirm that on enable/disable, the ceph-mgr process is respawned and hence all Python modules are reloaded. This seems to come from the Active/Standby Mgr logic, so the question would be whether a change in the MgrMap for module enabling/disabling should trigger this logic (or what kind of issue this behaviour is trying to deal with).
Updated by John Spray almost 6 years ago
Modules should try not to be too sensitive to mgr daemon restarts -- remember that these will also happen during e.g. upgrades.
The current behaviour of restarting on module enable/disable is just for simplicity/robustness. If it does seem worthwhile to implement dynamic activation of modules without a restart, then I would recommend still to keep the restart behaviour when a module is *dis*abled -- I'd rather not be worrying about how to handle a buggy module that e.g. doesn't shut down promptly.
Updated by Ernesto Puerta almost 6 years ago
Thanks for the feedback, John. Paul Cuzner mentioned this behaviour today and I just wanted to have it recorded for any future action.
Updated by Lenz Grimmer over 5 years ago
- Related to Feature #36237: mgr/dashboard: Add support for managing Ceph Mgr modules added
Updated by Lenz Grimmer over 5 years ago
Note: there is an open pull request that will change the dashboard authentication scheme to using JWT tokens, which supposedly would resolve the "session loss at mgr restart" problem for the dashboard. But this is not fixing the root cause that the mgr performs a restart of all modules every time a module is enabled or disabled.
Updated by Sebastian Wagner over 5 years ago
- Related to Feature #24651: mgr/dashboard: Improve SSL certificate import to no longer require a Mgr restart added
Updated by Sebastian Wagner over 5 years ago
This affects #24651, as there is no way to properly restart just the dashboard module.
Updated by Sebastian Wagner over 4 years ago
Relates to https://github.com/ceph/ceph/pull/32051: We cannot (And will likely never be able to) properly unload modules.
Updated by Sebastian Wagner about 4 years ago
- Related to Bug #44982: mgr: enabling a module is not instantaneous added