diff options
author | James Fargher <proglottis@gmail.com> | 2019-05-17 14:32:15 +0100 |
---|---|---|
committer | James Fargher <proglottis@gmail.com> | 2019-05-17 14:32:15 +0100 |
commit | dd3aecda7478abbd87e777e2da97004cada519e8 (patch) | |
tree | 3ad8eef95560c1a61bb478e3423c5c409c5a9aef | |
parent | 9afe8d3bcd1f3f39c8543f675e2522e73dd78b59 (diff) | |
download | gitlab-ce-remove_unused_instance_level_methods.tar.gz |
Remove unused instance-level cluster methodsremove_unused_instance_level_methods
Fixes group/instance level cluster feature flag checking.
-rw-r--r-- | app/models/clusters/cluster.rb | 12 | ||||
-rw-r--r-- | app/models/concerns/deployment_platform.rb | 23 | ||||
-rw-r--r-- | spec/models/concerns/deployment_platform_spec.rb | 18 |
3 files changed, 28 insertions, 25 deletions
diff --git a/app/models/clusters/cluster.rb b/app/models/clusters/cluster.rb index 9299e61dad3..41f6a216c2f 100644 --- a/app/models/clusters/cluster.rb +++ b/app/models/clusters/cluster.rb @@ -117,10 +117,14 @@ module Clusters def self.ancestor_clusters_for_clusterable(clusterable, hierarchy_order: :asc) return [] if clusterable.is_a?(Instance) - hierarchy_groups = clusterable.ancestors_upto(hierarchy_order: hierarchy_order).eager_load(:clusters) - hierarchy_groups = hierarchy_groups.merge(current_scope) if current_scope - - hierarchy_groups.flat_map(&:clusters) + Instance.new.clusters + clusters = [] + if clusterable.group_clusters_enabled? + hierarchy_groups = clusterable.ancestors_upto(hierarchy_order: hierarchy_order).eager_load(:clusters) + hierarchy_groups = hierarchy_groups.merge(current_scope) if current_scope + clusters += hierarchy_groups.flat_map(&:clusters) + end + clusters += Instance.new.clusters + clusters end def status_name diff --git a/app/models/concerns/deployment_platform.rb b/app/models/concerns/deployment_platform.rb index 9ac0d612db3..945a9565e50 100644 --- a/app/models/concerns/deployment_platform.rb +++ b/app/models/concerns/deployment_platform.rb @@ -13,8 +13,7 @@ module DeploymentPlatform def find_deployment_platform(environment) find_cluster_platform_kubernetes(environment: environment) || - find_group_cluster_platform_kubernetes_with_feature_guard(environment: environment) || - find_instance_cluster_platform_kubernetes_with_feature_guard(environment: environment) || + find_cluster_hierarchy_platform_kubernetes(environment: environment) || find_kubernetes_service_integration || build_cluster_and_deployment_platform end @@ -25,30 +24,12 @@ module DeploymentPlatform .last&.platform_kubernetes end - def find_group_cluster_platform_kubernetes_with_feature_guard(environment: nil) - return unless group_clusters_enabled? - - find_group_cluster_platform_kubernetes(environment: environment) - end - # EE would override this and utilize environment argument - def find_group_cluster_platform_kubernetes(environment: nil) + def find_cluster_hierarchy_platform_kubernetes(environment: nil) Clusters::Cluster.enabled.default_environment.ancestor_clusters_for_clusterable(self) .first&.platform_kubernetes end - def find_instance_cluster_platform_kubernetes_with_feature_guard(environment: nil) - return unless Clusters::Instance.enabled? - - find_instance_cluster_platform_kubernetes(environment: environment) - end - - # EE would override this and utilize environment argument - def find_instance_cluster_platform_kubernetes(environment: nil) - Clusters::Instance.new.clusters.enabled.default_environment - .first&.platform_kubernetes - end - def find_kubernetes_service_integration services.deployment.reorder(nil).find_by(active: true) end diff --git a/spec/models/concerns/deployment_platform_spec.rb b/spec/models/concerns/deployment_platform_spec.rb index 0e34d8fccf3..92c3ab79509 100644 --- a/spec/models/concerns/deployment_platform_spec.rb +++ b/spec/models/concerns/deployment_platform_spec.rb @@ -127,6 +127,24 @@ describe DeploymentPlatform do end end + context 'when instance has configured kubernetes cluster' do + let!(:cluster) { create(:cluster, :provided_by_gcp, :instance) } + + it 'returns the Kubernetes platform' do + is_expected.to eq(cluster.platform_kubernetes) + end + + context 'feature flag disabled' do + before do + stub_feature_flags(instance_clusters: false) + end + + it 'returns nil' do + is_expected.to be_nil + end + end + end + context 'when user configured kubernetes integration from project services' do let!(:kubernetes_service) { create(:kubernetes_service, project: project) } |