r = load_options();
if (r != 0) {
- derr << "Missing or invalid OPTIONS attribute in module '"
+ derr << "Missing or invalid MODULE_OPTIONS attribute in module '"
<< module_name << "'" << dendl;
- error_string = "Missing or invalid OPTIONS attribute";
+ error_string = "Missing or invalid MODULE_OPTIONS attribute";
return r;
}
int PyModule::load_options()
{
- int r = walk_dict_list("OPTIONS", [this](PyObject *pOption) -> int {
+ int r = walk_dict_list("MODULE_OPTIONS", [this](PyObject *pOption) -> int {
PyObject *pName = PyDict_GetItemString(pOption, "name");
ceph_assert(pName != nullptr);
ModuleOption option;
option.name = PyString_AsString(pName);
- dout(20) << "loaded option " << option.name << dendl;
+ dout(20) << "loaded module option " << option.name << dendl;
options[option.name] = std::move(option);
// Populated if loaded, can_run or failed indicates a problem
std::string error_string;
- // Helper for loading OPTIONS and COMMANDS members
+ // Helper for loading MODULE_OPTIONS and COMMANDS members
int walk_dict_list(
const std::string &attr_name,
std::function<int(PyObject*)> fn);
return r
class Module(MgrModule):
- OPTIONS = [
+ MODULE_OPTIONS = [
{'name': 'active'},
{'name': 'begin_time'},
{'name': 'crush_compat_max_iterations'},
COMMANDS.extend(ACCESS_CONTROL_COMMANDS)
COMMANDS.extend(SSO_COMMANDS)
- OPTIONS = [
+ MODULE_OPTIONS = [
{'name': 'server_addr'},
{'name': 'server_port'},
{'name': 'jwt_token_ttl'},
{'name': 'crt_file'},
{'name': 'ssl'}
]
- OPTIONS.extend(options_schema_list())
+ MODULE_OPTIONS.extend(options_schema_list())
def __init__(self, *args, **kwargs):
super(Module, self).__init__(*args, **kwargs)
class DeepSeaOrchestrator(MgrModule, orchestrator.Orchestrator):
- OPTIONS = [
+ MODULE_OPTIONS = [
{
'name': 'salt_api_url',
'default': None
@property
def config_keys(self):
- return dict((o['name'], o.get('default', None)) for o in self.OPTIONS)
+ return dict((o['name'], o.get('default', None)) for o in self.MODULE_OPTIONS)
def get_config(self, key, default=None):
class Module(MgrModule):
- OPTIONS = [
+ MODULE_OPTIONS = [
{
'name': 'enable_monitoring',
'default': str(False),
super(Module, self).__init__(*args, **kwargs)
# options
- for opt in self.OPTIONS:
+ for opt in self.MODULE_OPTIONS:
setattr(self, opt['name'], opt['default'])
# other
assert before != after
def config_notify(self):
- for opt in self.OPTIONS:
+ for opt in self.MODULE_OPTIONS:
setattr(self,
opt['name'],
self.get_config(opt['name']) or opt['default'])
class Module(MgrModule):
- OPTIONS = [
+ MODULE_OPTIONS = [
{
'name': 'diskprediction_server',
'default': ''
self._run = True
def config_notify(self):
- for opt in self.OPTIONS:
+ for opt in self.MODULE_OPTIONS:
setattr(self,
opt['name'],
self.get_config(opt['name']) or opt['default'])
@property
def config_keys(self):
- return dict((o['name'], o.get('default', None)) for o in self.OPTIONS)
+ return dict((o['name'], o.get('default', None)) for o in self.MODULE_OPTIONS)
def set_config_option(self, option, value):
if option not in self.config_keys.keys():
return 0, msg, ''
def refresh_config(self):
- for opt in self.OPTIONS:
+ for opt in self.MODULE_OPTIONS:
setattr(self,
opt['name'],
self.get_config(opt['name']) or opt['default'])
class Module(MgrModule):
- OPTIONS = [
+ MODULE_OPTIONS = [
{
'name': 'sleep_interval',
'default': str(600),
def __init__(self, *args, **kwargs):
super(Module, self).__init__(*args, **kwargs)
# options
- for opt in self.OPTIONS:
+ for opt in self.MODULE_OPTIONS:
setattr(self, opt['name'], opt['default'])
# other
self._run = True
self._event = Event()
def config_notify(self):
- for opt in self.OPTIONS:
+ for opt in self.MODULE_OPTIONS:
setattr(self,
opt['name'],
self.get_config(opt['name']) or opt['default'])
self._event.set()
def refresh_config(self):
- for opt in self.OPTIONS:
+ for opt in self.MODULE_OPTIONS:
setattr(self,
opt['name'],
self.get_config(opt['name']) or opt['default'])
class Module(MgrModule):
- OPTIONS = [
+ MODULE_OPTIONS = [
{
'name': 'hostname',
'default': None
@property
def config_keys(self):
return dict((o['name'], o.get('default', None))
- for o in self.OPTIONS)
+ for o in self.MODULE_OPTIONS)
COMMANDS = [
{
class Module(MgrModule):
- OPTIONS = [
+ MODULE_OPTIONS = [
{'name': 'failure_domain'},
{'name': 'min_size'},
{'name': 'num_rep'},
class MgrModule(ceph_module.BaseMgrModule):
COMMANDS = []
- OPTIONS = []
+ MODULE_OPTIONS = []
# Priority definitions for perf counters
PRIO_CRITICAL = 10
access config options that they didn't declare
in their schema.
"""
- if key not in [o['name'] for o in self.OPTIONS]:
- raise RuntimeError("Config option '{0}' is not in {1}.OPTIONS".\
+ if key not in [o['name'] for o in self.MODULE_OPTIONS]:
+ raise RuntimeError("Config option '{0}' is not in {1}.MODULE_OPTIONS".\
format(key, self.__class__.__name__))
def _get_config(self, key, default):
class OrchestratorCli(MgrModule):
- OPTIONS = [
+ MODULE_OPTIONS = [
{'name': 'orchestrator'}
]
COMMANDS = [
},
]
- OPTIONS = [
+ MODULE_OPTIONS = [
{'name': 'server_addr'},
{'name': 'server_port'},
{'name': 'scrape_interval'},
class Module(MgrModule):
- OPTIONS = [
+ MODULE_OPTIONS = [
{'name': 'server_addr'},
{'name': 'server_port'},
{'name': 'key_file'},
class RookOrchestrator(MgrModule, orchestrator.Orchestrator):
- OPTIONS = [
+ MODULE_OPTIONS = [
# TODO: configure k8s API addr instead of assuming local
]
# The test code in qa/ relies on these options existing -- they
# are of course not really used for anything in the module
- OPTIONS = [
+ MODULE_OPTIONS = [
{'name': 'testkey'},
{'name': 'testlkey'},
{'name': 'testnewline'}
},
]
- OPTIONS = [
+ MODULE_OPTIONS = [
{
'name': 'address',
'default': 'unixgram:///tmp/telegraf.sock',
@property
def config_keys(self):
- return dict((o['name'], o.get('default', None)) for o in self.OPTIONS)
+ return dict((o['name'], o.get('default', None)) for o in self.MODULE_OPTIONS)
def __init__(self, *args, **kwargs):
super(Module, self).__init__(*args, **kwargs)
"distro"
]
- OPTIONS = [
+ MODULE_OPTIONS = [
{
'name': 'url',
'default': 'https://telemetry.ceph.com/report'
@property
def config_keys(self):
- return dict((o['name'], o.get('default', None)) for o in self.OPTIONS)
+ return dict((o['name'], o.get('default', None)) for o in self.MODULE_OPTIONS)
def __init__(self, *args, **kwargs):
super(Module, self).__init__(*args, **kwargs)
@property
def config_keys(self):
return dict((o['name'], o.get('default', None))
- for o in self.OPTIONS)
+ for o in self.MODULE_OPTIONS)
- OPTIONS = [
+ MODULE_OPTIONS = [
{
'name': 'zabbix_sender',
'default': '/usr/bin/zabbix_sender'