From 1d095e731ba406b66b4a3cf5080710a4998e87ad Mon Sep 17 00:00:00 2001 From: Andrey Vertiprahov Date: Sun, 11 Oct 2020 13:30:57 +0500 Subject: [PATCH 1/2] AlarmEscalation. Use item delay for consequence escalation. --- fm/models/alarmescalation.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/fm/models/alarmescalation.py b/fm/models/alarmescalation.py index f6bbd6fe17..d36c70ceae 100644 --- a/fm/models/alarmescalation.py +++ b/fm/models/alarmescalation.py @@ -135,7 +135,15 @@ class AlarmEscalation(Document): continue logger.debug("[%s] Watch for %s after %s seconds", alarm.id, esc.name, e_item.delay) et = alarm.timestamp + datetime.timedelta(seconds=e_item.delay) - if et > now: + if timestamp_policy == "c": + # If escalation with current timestamp - shift consequence after main escalation + delay = datetime.timedelta(seconds=e_item.delay).total_seconds() + logger.info( + "[%s] Watch escalation with create new timestamp policy, after %s seconds", + alarm.id, + delay, + ) + elif et > now: delay = (et - now).total_seconds() else: delay = None -- GitLab From 965d6c1902a41bb0136d5e49eb01e444ed128699 Mon Sep 17 00:00:00 2001 From: Andrey Vertiprahov Date: Sun, 11 Oct 2020 13:49:02 +0500 Subject: [PATCH 2/2] Fix formula. --- fm/models/alarmescalation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fm/models/alarmescalation.py b/fm/models/alarmescalation.py index d36c70ceae..b3d995a370 100644 --- a/fm/models/alarmescalation.py +++ b/fm/models/alarmescalation.py @@ -137,7 +137,7 @@ class AlarmEscalation(Document): et = alarm.timestamp + datetime.timedelta(seconds=e_item.delay) if timestamp_policy == "c": # If escalation with current timestamp - shift consequence after main escalation - delay = datetime.timedelta(seconds=e_item.delay).total_seconds() + delay = max((et - now).total_seconds(), 120) if et > now else 120 logger.info( "[%s] Watch escalation with create new timestamp policy, after %s seconds", alarm.id, -- GitLab