diff --git a/src/pybind/mgr/mgr_module.py b/src/pybind/mgr/mgr_module.py index 263f683f7b0..cf0614d76ed 100644 --- a/src/pybind/mgr/mgr_module.py +++ b/src/pybind/mgr/mgr_module.py @@ -380,6 +380,7 @@ class Option(dict): (k, v) for k, v in vars().items() if k != 'self' and v is not None) + class Command(dict): """ Helper class to declare options for COMMANDS list. @@ -443,6 +444,7 @@ class CPlusPlusHandler(logging.Handler): if record.levelno >= self.level: self._module._ceph_log(self.format(record)) + class ClusterLogHandler(logging.Handler): def __init__(self, module_inst): super().__init__() @@ -463,6 +465,7 @@ class ClusterLogHandler(logging.Handler): level, self.format(record)) + class FileHandler(logging.FileHandler): def __init__(self, module_inst): path = module_inst.get_ceph_option("log_file") @@ -501,7 +504,6 @@ class MgrModuleLoggingMixin(object): self._root_logger.setLevel(logging.NOTSET) self._set_log_level(mgr_level, module_level, cluster_level) - def _unconfigure_logging(self): # remove existing handlers: rm_handlers = [ @@ -765,7 +767,6 @@ class MgrModule(ceph_module.BaseMgrModule, MgrModuleLoggingMixin): # Keep a librados instance for those that need it. self._rados = None - def __del__(self): self._unconfigure_logging() @@ -1494,7 +1495,7 @@ class MgrModule(ceph_module.BaseMgrModule, MgrModuleLoggingMixin): def update_progress_event(self, evid, desc, progress, add_to_ceph_s): return self._ceph_update_progress_event(str(evid), str(desc), - float(progress), + float(progress), bool(add_to_ceph_s)) def complete_progress_event(self, evid): diff --git a/src/pybind/mgr/mgr_util.py b/src/pybind/mgr/mgr_util.py index 4a2e1f22555..e5c401b8819 100644 --- a/src/pybind/mgr/mgr_util.py +++ b/src/pybind/mgr/mgr_util.py @@ -370,8 +370,8 @@ def get_default_addr(): with contextlib.closing(sock): sock.bind(("::1", 0)) return True - except (AttributeError, socket.error) as e: - return False + except (AttributeError, socket.error): + return False try: return get_default_addr.result # type: ignore @@ -515,6 +515,7 @@ def verify_tls_files(cert_fname, pkey_fname): 'Private key {} and certificate {} do not match up: {}'.format( pkey_fname, cert_fname, str(e))) + def get_most_recent_rate(rates): """ Get most recent rate from rates @@ -565,6 +566,7 @@ def get_time_series_rates(data): return [(data2[0], _derivative(data1, data2)) for data1, data2 in _pairwise(data)] + def _filter_time_series(data): """ Filters time series data @@ -609,6 +611,7 @@ def _filter_time_series(data): filtered.append(data[-1]) return filtered + def _derivative(p1, p2): """ Derivative between two time series data points @@ -629,6 +632,7 @@ def _derivative(p1, p2): """ return (p2[1] - p1[1]) / float(p2[0] - p1[0]) + def _pairwise(iterable): it = iter(iterable) a = next(it, None) @@ -637,6 +641,7 @@ def _pairwise(iterable): yield (a, b) a = b + def to_pretty_timedelta(n): if n < datetime.timedelta(seconds=120): return str(n.seconds) + 's'