Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-08-11 02:02:09 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-08-11 02:02:09 +0300
commit8c21e23045073c07c43f4f4d9012ced728702e98 (patch)
treea14b5f617927e4f3419e599967eab727f4755491 /app/services
parent0a3f1f55493660acfabd198d2e1649a881d8852b (diff)
Add latest changes from gitlab-org/gitlab@13-2-stable-ee
Diffstat (limited to 'app/services')
-rw-r--r--app/services/alert_management/process_prometheus_alert_service.rb22
1 files changed, 17 insertions, 5 deletions
diff --git a/app/services/alert_management/process_prometheus_alert_service.rb b/app/services/alert_management/process_prometheus_alert_service.rb
index 573d3914c05..c233ea4e2e5 100644
--- a/app/services/alert_management/process_prometheus_alert_service.rb
+++ b/app/services/alert_management/process_prometheus_alert_service.rb
@@ -34,6 +34,8 @@ module AlertManagement
else
create_alert_management_alert
end
+
+ process_incident_alert
end
def reset_alert_management_alert_status
@@ -47,16 +49,17 @@ module AlertManagement
end
def create_alert_management_alert
- am_alert = AlertManagement::Alert.new(am_alert_params.merge(ended_at: nil))
- if am_alert.save
- am_alert.execute_services
+ new_alert = AlertManagement::Alert.new(am_alert_params.merge(ended_at: nil))
+ if new_alert.save
+ new_alert.execute_services
+ @am_alert = new_alert
return
end
logger.warn(
message: 'Unable to create AlertManagement::Alert',
project_id: project.id,
- alert_errors: am_alert.errors.messages
+ alert_errors: new_alert.errors.messages
)
end
@@ -89,12 +92,21 @@ module AlertManagement
SystemNoteService.auto_resolve_prometheus_alert(issue, project, User.alert_bot) if issue.reset.closed?
end
+ def process_incident_alert
+ return unless am_alert
+ return if am_alert.issue
+
+ IncidentManagement::ProcessAlertWorker.perform_async(nil, nil, am_alert.id)
+ end
+
def logger
@logger ||= Gitlab::AppLogger
end
def am_alert
- @am_alert ||= AlertManagement::Alert.not_resolved.for_fingerprint(project, gitlab_fingerprint).first
+ strong_memoize(:am_alert) do
+ AlertManagement::Alert.not_resolved.for_fingerprint(project, gitlab_fingerprint).first
+ end
end
def bad_request