summaryrefslogtreecommitdiff
path: root/app/models/clusters/cluster.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/clusters/cluster.rb')
-rw-r--r--app/models/clusters/cluster.rb31
1 files changed, 22 insertions, 9 deletions
diff --git a/app/models/clusters/cluster.rb b/app/models/clusters/cluster.rb
index 7641b6d2a4b..63aebdf1bdb 100644
--- a/app/models/clusters/cluster.rb
+++ b/app/models/clusters/cluster.rb
@@ -218,6 +218,24 @@ module Clusters
provider&.status_name || connection_status.presence || :created
end
+ def connection_error
+ with_reactive_cache do |data|
+ data[:connection_error]
+ end
+ end
+
+ def node_connection_error
+ with_reactive_cache do |data|
+ data[:node_connection_error]
+ end
+ end
+
+ def metrics_connection_error
+ with_reactive_cache do |data|
+ data[:metrics_connection_error]
+ end
+ end
+
def connection_status
with_reactive_cache do |data|
data[:connection_status]
@@ -233,9 +251,7 @@ module Clusters
def calculate_reactive_cache
return unless enabled?
- gitlab_kubernetes_nodes = Gitlab::Kubernetes::Node.new(self)
-
- { connection_status: retrieve_connection_status, nodes: gitlab_kubernetes_nodes.all.presence }
+ connection_data.merge(Gitlab::Kubernetes::Node.new(self).all)
end
def persisted_applications
@@ -341,10 +357,6 @@ module Clusters
end
end
- def local_tiller_enabled?
- Feature.enabled?(:managed_apps_local_tiller, clusterable, default_enabled: true)
- end
-
def prometheus_adapter
application_prometheus
end
@@ -395,9 +407,10 @@ module Clusters
@instance_domain ||= Gitlab::CurrentSettings.auto_devops_domain
end
- def retrieve_connection_status
+ def connection_data
result = ::Gitlab::Kubernetes::KubeClient.graceful_request(id) { kubeclient.core_client.discover }
- result[:status]
+
+ { connection_status: result[:status], connection_error: result[:connection_error] }.compact
end
# To keep backward compatibility with AUTO_DEVOPS_DOMAIN