summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Maeda <shinya@gitlab.com>2017-11-21 23:29:33 +0900
committerShinya Maeda <shinya@gitlab.com>2017-11-28 20:47:59 +0900
commita8e2094c6591336405a90e4185e89752d38965bf (patch)
tree941e23df5c945fb1cf928eee886c29f00be1b98e
parent3cf53cc611930f875995883e3051015ed9bcb49b (diff)
downloadgitlab-ce-a8e2094c6591336405a90e4185e89752d38965bf.tar.gz
Remove logic which glues with KubernetesService, from Platforms::Kubernetes
-rw-r--r--app/models/clusters/cluster.rb9
-rw-r--r--app/models/clusters/platforms/kubernetes.rb51
2 files changed, 3 insertions, 57 deletions
diff --git a/app/models/clusters/cluster.rb b/app/models/clusters/cluster.rb
index 185d9473aab..6d7fb4b7dbf 100644
--- a/app/models/clusters/cluster.rb
+++ b/app/models/clusters/cluster.rb
@@ -17,8 +17,7 @@ module Clusters
# we force autosave to happen when we save `Cluster` model
has_one :provider_gcp, class_name: 'Clusters::Providers::Gcp', autosave: true
- # We have to ":destroy" it today to ensure that we clean also the Kubernetes Integration
- has_one :platform_kubernetes, class_name: 'Clusters::Platforms::Kubernetes', autosave: true, dependent: :destroy # rubocop:disable Cop/ActiveRecordDependent
+ has_one :platform_kubernetes, class_name: 'Clusters::Platforms::Kubernetes'
has_one :application_helm, class_name: 'Clusters::Applications::Helm'
has_one :application_ingress, class_name: 'Clusters::Applications::Ingress'
@@ -29,15 +28,9 @@ module Clusters
validates :name, cluster_name: true
validate :restrict_modification, on: :update
- # TODO: Move back this into Clusters::Platforms::Kubernetes in 10.3
- # We need callback here because `enabled` belongs to Clusters::Cluster
- # Callbacks in Clusters::Platforms::Kubernetes will not be called after update
- after_save :update_kubernetes_integration!
-
delegate :status, to: :provider, allow_nil: true
delegate :status_reason, to: :provider, allow_nil: true
delegate :on_creation?, to: :provider, allow_nil: true
- delegate :update_kubernetes_integration!, to: :platform, allow_nil: true
delegate :active?, to: :platform_kubernetes, prefix: true, allow_nil: true
delegate :installed?, to: :application_helm, prefix: true, allow_nil: true
diff --git a/app/models/clusters/platforms/kubernetes.rb b/app/models/clusters/platforms/kubernetes.rb
index 549b32ceef1..590d5da24cb 100644
--- a/app/models/clusters/platforms/kubernetes.rb
+++ b/app/models/clusters/platforms/kubernetes.rb
@@ -36,9 +36,6 @@ module Clusters
after_save :clear_reactive_cache!
- # TODO: Glue code till we migrate Kubernetes Integration into Platforms::Kubernetes
- after_destroy :destroy_kubernetes_integration!
-
alias_attribute :ca_pem, :ca_cert
delegate :project, to: :cluster, allow_nil: true
@@ -85,33 +82,14 @@ module Clusters
# Caches resources in the namespace so other calls don't need to block on
# network access
def calculate_reactive_cache
- return unless active? && project && !project.pending_delete?
+ return unless enabled? && project && !project.pending_delete?
# We may want to cache extra things in the future
{ pods: read_pods }
end
def kubeclient
- @kubeclient ||= kubernetes_service.kubeclient if manages_kubernetes_service?
- end
-
- def update_kubernetes_integration!
- raise 'Kubernetes service already configured' unless manages_kubernetes_service?
-
- # This is neccesary, otheriwse enabled? returns true even though cluster updated with enabled: false
- cluster.reload
-
- ensure_kubernetes_service&.update!(
- active: enabled?,
- api_url: api_url,
- namespace: namespace,
- token: token,
- ca_pem: ca_cert
- )
- end
-
- def active?
- manages_kubernetes_service?
+ @kubeclient ||= build_kubeclient!
end
private
@@ -192,31 +170,6 @@ module Clusters
def enforce_namespace_to_lower_case
self.namespace = self.namespace&.downcase
end
-
- def enforce_namespace_to_lower_case
- self.namespace = self.namespace&.downcase
- end
-
- # TODO: glue code till we migrate Kubernetes Service into Platforms::Kubernetes class
- def manages_kubernetes_service?
- return true unless kubernetes_service&.active?
-
- kubernetes_service.api_url == api_url
- end
-
- def destroy_kubernetes_integration!
- return unless manages_kubernetes_service?
-
- kubernetes_service&.destroy!
- end
-
- def kubernetes_service
- @kubernetes_service ||= project&.kubernetes_service
- end
-
- def ensure_kubernetes_service
- @kubernetes_service ||= kubernetes_service || project&.build_kubernetes_service
- end
end
end
end