From 39830d1e33144a5223db06a6ad092c679661c612 Mon Sep 17 00:00:00 2001 From: Dylan Griffith Date: Tue, 13 Nov 2018 18:02:49 +0000 Subject: Add Sentry exception tracking for Kubernetes errors --- .../check_installation_progress_service.rb | 1 + .../clusters/applications/install_service.rb | 2 ++ spec/lib/gitlab/sentry_spec.rb | 26 +++++++++++----------- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/app/services/clusters/applications/check_installation_progress_service.rb b/app/services/clusters/applications/check_installation_progress_service.rb index 49b8825c3a4..ca0f7b30053 100644 --- a/app/services/clusters/applications/check_installation_progress_service.rb +++ b/app/services/clusters/applications/check_installation_progress_service.rb @@ -16,6 +16,7 @@ module Clusters end rescue Kubeclient::HttpError => e Rails.logger.error("Kubernetes error: #{e.error_code} #{e.message}") + Gitlab::Sentry.track_acceptable_exception(e, extra: { scope: 'kubernetes', app_id: app.id }) app.make_errored!("Kubernetes error: #{e.error_code}") unless app.errored? end diff --git a/app/services/clusters/applications/install_service.rb b/app/services/clusters/applications/install_service.rb index 947d22022bc..f4385748c43 100644 --- a/app/services/clusters/applications/install_service.rb +++ b/app/services/clusters/applications/install_service.rb @@ -14,9 +14,11 @@ module Clusters ClusterWaitForAppInstallationWorker::INTERVAL, app.name, app.id) rescue Kubeclient::HttpError => e Rails.logger.error("Kubernetes error: #{e.error_code} #{e.message}") + Gitlab::Sentry.track_acceptable_exception(e, extra: { scope: 'kubernetes', app_id: app.id }) app.make_errored!("Kubernetes error: #{e.error_code}") rescue StandardError => e Rails.logger.error "Can't start installation process: #{e.class.name} #{e.message}" + Gitlab::Sentry.track_acceptable_exception(e, extra: { scope: 'kubernetes', app_id: app.id }) app.make_errored!("Can't start installation process.") end end diff --git a/spec/lib/gitlab/sentry_spec.rb b/spec/lib/gitlab/sentry_spec.rb index 1622035ff6a..d3b41b27b80 100644 --- a/spec/lib/gitlab/sentry_spec.rb +++ b/spec/lib/gitlab/sentry_spec.rb @@ -61,19 +61,19 @@ describe Gitlab::Sentry do end it 'calls Raven.capture_exception' do - expected_extras = { - some_other_info: 'info', - issue_url: 'http://gitlab.com/gitlab-org/gitlab-ce/issues/1' - } - - expect(Raven).to receive(:capture_exception) - .with(exception, extra: a_hash_including(expected_extras)) - - described_class.track_acceptable_exception( - exception, - issue_url: 'http://gitlab.com/gitlab-org/gitlab-ce/issues/1', - extra: { some_other_info: 'info' } - ) + expected_extras = { + some_other_info: 'info', + issue_url: 'http://gitlab.com/gitlab-org/gitlab-ce/issues/1' + } + + expect(Raven).to receive(:capture_exception) + .with(exception, extra: a_hash_including(expected_extras)) + + described_class.track_acceptable_exception( + exception, + issue_url: 'http://gitlab.com/gitlab-org/gitlab-ce/issues/1', + extra: { some_other_info: 'info' } + ) end end end -- cgit v1.2.1