summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Fargher <proglottis@gmail.com>2019-05-17 14:32:15 +0100
committerJames Fargher <proglottis@gmail.com>2019-05-17 14:32:15 +0100
commitdd3aecda7478abbd87e777e2da97004cada519e8 (patch)
tree3ad8eef95560c1a61bb478e3423c5c409c5a9aef
parent9afe8d3bcd1f3f39c8543f675e2522e73dd78b59 (diff)
downloadgitlab-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.rb12
-rw-r--r--app/models/concerns/deployment_platform.rb23
-rw-r--r--spec/models/concerns/deployment_platform_spec.rb18
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) }