diff --git a/source/logic/checks/file_timestamp.py b/source/logic/checks/file_timestamp.py deleted file mode 100644 index 8eb4a8b..0000000 --- a/source/logic/checks/file_timestamp.py +++ /dev/null @@ -1,114 +0,0 @@ -class implementation_check_kind_file_timestamp(interface_check_kind): - - ''' - [implementation] - ''' - def parameters_schema(self): - return { - "type": "object", - "additionalProperties": False, - "properties": { - "path": { - "type": "string" - }, - "warning_age": { - "type": "integer", - "exclusiveMinimum": 0, - "default": (60 * 60) - }, - "critical_age": { - "type": "integer", - "exclusiveMinimum": 0, - "default": (60 * 60 * 24) - }, - "condition_on_missing": { - "description": "which condition to report if file is missing", - "type": "string", - "enum": [ - "unknown", - "ok", - "warning", - "critical" - ], - "default": "warning" - }, - "condition_on_implausible": { - "description": "which condition to report if the age is negative, i.e. the file is apparently from the future", - "type": "string", - "enum": [ - "unknown", - "ok", - "warning", - "critical" - ], - "default": "warning" - } - }, - "required": [ - "path" - ] - } - - - ''' - [implementation] - ''' - def normalize_conf_node(self, node): - if ("path" not in node): - raise ValueError("missing mandatory field 'path'") - else: - return dict_merge( - { - "warning_age": (60 * 60), - "critical_age": (60 * 60 * 24), - "condition_on_missing": condition_encode(enum_condition.warning), - "condition_on_implausible": condition_encode(enum_condition.warning), - }, - node - ) - - - ''' - [implementation] - ''' - def run(self, parameters): - if (not _os.path.exists(parameters["path"])): - return { - "condition": condition_decode(parameters["condition_on_missing"]), - "info": { - "path": parameters["path"], - "flaw": translation_get("checks.file_timetsamp.missing"), - } - } - else: - result = _os.stat(parameters["path"]) - timestamp = get_current_timestamp() - age = (timestamp - result.st_atime) - if (age < 0): - return { - "condition": condition_decode(parameters["condition_on_implausible"]), - "info": { - "path": parameters["path"], - "flaw": translation_get("checks.file_timetsamp.implausible"), - "timestamp_of_checking_instance": timestamp, - "timestamp_of_file": result.st_atime, - }, - } - else: - if ((age > 0) and (age <= parameters["warning_age"])): - condition = enum_condition.ok - elif ((age > parameters["warning_age"]) and (age <= parameters["critical_age"])): - condition = enum_condition.warning - elif (age > parameters["critical_age"]): - condition = enum_condition.critical - else: - raise ValueError("impossible") - return { - "condition": condition, - "info": { - "path": parameters["path"], - "flaw": translation_get("checks.file_timetsamp.too_old"), - "age_in_seconds": ("%u" % age), - }, - } -