Commit f69f7a67 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge branch 'fix-error-handling-bugs-in-kubernetes-integration' into 'master'

Fix error handling bugs in kubernetes integration

See merge request gitlab-org/gitlab-ce!22922
parents 4aa41d07 269b0e10
...@@ -16,8 +16,6 @@ module Clusters ...@@ -16,8 +16,6 @@ module Clusters
configure_kubernetes_token configure_kubernetes_token
kubernetes_namespace.save! kubernetes_namespace.save!
rescue ::Kubeclient::HttpError => err
raise err unless err.error_code = 404
end end
private private
......
...@@ -17,6 +17,6 @@ class ClusterPlatformConfigureWorker ...@@ -17,6 +17,6 @@ class ClusterPlatformConfigureWorker
end end
rescue ::Kubeclient::HttpError => err rescue ::Kubeclient::HttpError => err
Rails.logger.error "Failed to create/update Kubernetes Namespace. id: #{kubernetes_namespace.id} message: #{err.message}" Rails.logger.error "Failed to create/update Kubernetes namespace for cluster_id: #{cluster_id} with error: #{err.message}"
end end
end end
---
title: Fix error handling bugs in kubernetes integration
merge_request: 22922
author:
type: fixed
...@@ -30,4 +30,18 @@ describe ClusterPlatformConfigureWorker, '#execute' do ...@@ -30,4 +30,18 @@ describe ClusterPlatformConfigureWorker, '#execute' do
described_class.new.perform(123) described_class.new.perform(123)
end end
end end
context 'when kubeclient raises error' do
let(:cluster) { create(:cluster, :project) }
it 'rescues and logs the error' do
allow_any_instance_of(Clusters::Gcp::Kubernetes::CreateOrUpdateNamespaceService).to receive(:execute).and_raise(::Kubeclient::HttpError.new(500, 'something baaaad happened', ''))
expect(Rails.logger)
.to receive(:error)
.with("Failed to create/update Kubernetes namespace for cluster_id: #{cluster.id} with error: something baaaad happened")
described_class.new.perform(cluster.id)
end
end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment