# -*- coding: utf-8 -*-
from __future__ import absolute_import
-from . import ApiController, RESTController
+from . import ApiController, RESTController, \
+ allow_empty_body
from .. import mgr
from ..security import Scope
from ..services.ceph_service import CephService
"""
result = []
mgr_map = mgr.get('mgr_map')
- always_on_modules = mgr_map['always_on_modules'][mgr.release_name]
+ always_on_modules = mgr_map['always_on_modules'].get(mgr.release_name, [])
for module_config in mgr_map['available_modules']:
module_name = module_config['name']
if module_name not in self.ignore_modules:
@RESTController.Resource('POST')
@handle_send_command_error('mgr_modules')
+ @allow_empty_body
def enable(self, module_name):
"""
Enable the specified Ceph Mgr module.
@RESTController.Resource('POST')
@handle_send_command_error('mgr_modules')
+ @allow_empty_body
def disable(self, module_name):
"""
Disable the specified Ceph Mgr module.
else:
option['default_value'] = str_to_bool(
option['default_value'])
- elif option['type'] == 'float':
+ elif option['type'] in ['float', 'uint', 'int', 'size', 'secs']:
+ cls = {
+ 'float': float
+ }.get(option['type'], int)
for name in ['default_value', 'min', 'max']:
- if option[name]: # Skip empty entries
- option[name] = float(option[name])
- elif option['type'] in ['uint', 'int', 'size', 'secs']:
- for name in ['default_value', 'min', 'max']:
- if option[name]: # Skip empty entries
- option[name] = int(option[name])
+ if option[name] == 'None': # This is Python None
+ option[name] = None
+ elif option[name]: # Skip empty entries
+ option[name] = cls(option[name])
return options