freezer_dr.monitors.common package¶
Submodules¶
freezer_dr.monitors.common.driver module¶
-
class
freezer_dr.monitors.common.driver.
MonitorBaseDriver
(backend_name, notifier)[source]¶ Bases:
object
Abstract class that all monitoring plugins should implement to have a unified interface and as many plugins as we want…
-
abstract
analyze_nodes
(nodes)[source]¶ Process nodes from get_data and return list of down nodes :param nodes: dict of metrics of nodes { ‘metric1’: nodes, ‘metric2’: nodes} :return: a list of down nodes
-
abstract
get_data
()[source]¶ Gathering metrics data. making the actual api call to the monitoring system and get a list of nodes status.
-
abstract
get_metrics
()[source]¶ return list of metrics used to monitor compute nodes. it’s Optional not all drivers need to implement this method.
-
abstract
is_alive
()[source]¶ Plugin should provide a way to make sure that the monitoring system is a live or not. It’s optional not all drivers need to implement it. :return: True or False
-
abstract
process_failed
(nodes=[], wait=0)[source]¶ Double check the failed nodes again to make sure that nodes are down. return a list of down nodes to be passed to the evacuation tool to process failed hosts. :param nodes: a list contains pre-checked nodes to re-check them again :param wait: a configurable a mount of time to wait before doing this check to give a chance for the host to recover if there was a minor issue. :return: a list of nodes to be evacuated, the list will be passed directly to the evacuation tool to process them
-
abstract