diff options
author | Stan Hu <stanhu@gmail.com> | 2018-11-27 16:51:34 +0000 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2018-11-27 16:51:34 +0000 |
commit | 681d7139a995a8d2e299c567d45c03221f89fd6f (patch) | |
tree | 2dda494cdd5d9ac0d24ea9325dadd956e16db0db /app/services | |
parent | 17acf40dc98f05a476176dbd0b5da813be39b909 (diff) | |
parent | 7e7fb6deba4e58b4dbbb21a8e859327cebd109d1 (diff) | |
download | gitlab-ce-681d7139a995a8d2e299c567d45c03221f89fd6f.tar.gz |
Merge branch 'json-logging-for-k8s' into 'master'
Json logging for k8s Integration
See merge request gitlab-org/gitlab-ce!23328
Diffstat (limited to 'app/services')
3 files changed, 22 insertions, 6 deletions
diff --git a/app/services/clusters/applications/base_helm_service.rb b/app/services/clusters/applications/base_helm_service.rb index 270a8eb24f4..e86ca8cf1d0 100644 --- a/app/services/clusters/applications/base_helm_service.rb +++ b/app/services/clusters/applications/base_helm_service.rb @@ -11,6 +11,25 @@ module Clusters protected + def log_error(error) + meta = { + exception: error.class.name, + error_code: error.respond_to?(:error_code) ? error.error_code : nil, + service: self.class.name, + app_id: app.id, + project_ids: app.cluster.project_ids, + group_ids: app.cluster.group_ids, + message: error.message + } + + logger.error(meta) + Gitlab::Sentry.track_acceptable_exception(error, extra: meta) + end + + def logger + @logger ||= Gitlab::Kubernetes::Logger.build + end + def cluster app.cluster end diff --git a/app/services/clusters/applications/check_installation_progress_service.rb b/app/services/clusters/applications/check_installation_progress_service.rb index 6794580e1e8..21ec26ea233 100644 --- a/app/services/clusters/applications/check_installation_progress_service.rb +++ b/app/services/clusters/applications/check_installation_progress_service.rb @@ -15,8 +15,7 @@ module Clusters check_timeout 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 }) + log_error(e) 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 f4385748c43..5a65dc4ef59 100644 --- a/app/services/clusters/applications/install_service.rb +++ b/app/services/clusters/applications/install_service.rb @@ -13,12 +13,10 @@ module Clusters ClusterWaitForAppInstallationWorker.perform_in( 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 }) + log_error(e) 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 }) + log_error(e) app.make_errored!("Can't start installation process.") end end |