summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTiger <twatson@gitlab.com>2019-06-18 15:29:25 +1000
committerTiger <twatson@gitlab.com>2019-06-21 11:35:13 +1000
commitda5c00d1c669c1aa4ebc714cfc357fc73f3e1331 (patch)
tree7fec1a32df975d73c75deb4d7e7dcb3ce9915ac6
parent148516ba36855095fa995c2d4e8077919cdb6db6 (diff)
downloadgitlab-ce-da5c00d1c669c1aa4ebc714cfc357fc73f3e1331.tar.gz
Remove Kubernetes service from deployment platform
This will no longer be used for deployments, as all service templates have been migrated to clusters.
-rw-r--r--app/models/concerns/deployment_platform.rb39
-rw-r--r--changelogs/unreleased/remove-kubernetes-service-deployment-platform.yml5
-rw-r--r--spec/models/concerns/deployment_platform_spec.rb53
-rw-r--r--spec/models/project_services/kubernetes_service_spec.rb2
4 files changed, 8 insertions, 91 deletions
diff --git a/app/models/concerns/deployment_platform.rb b/app/models/concerns/deployment_platform.rb
index 9ac0d612db3..1bd8a799f0d 100644
--- a/app/models/concerns/deployment_platform.rb
+++ b/app/models/concerns/deployment_platform.rb
@@ -14,9 +14,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_kubernetes_service_integration ||
- build_cluster_and_deployment_platform
+ find_instance_cluster_platform_kubernetes_with_feature_guard(environment: environment)
end
# EE would override this and utilize environment argument
@@ -48,39 +46,4 @@ module DeploymentPlatform
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
-
- def build_cluster_and_deployment_platform
- return unless kubernetes_service_template
-
- cluster = ::Clusters::Cluster.create(cluster_attributes_from_service_template)
- cluster.platform_kubernetes if cluster.persisted?
- end
-
- def kubernetes_service_template
- @kubernetes_service_template ||= KubernetesService.active.find_by_template
- end
-
- def cluster_attributes_from_service_template
- {
- name: 'kubernetes-template',
- projects: [self],
- cluster_type: :project_type,
- provider_type: :user,
- platform_type: :kubernetes,
- platform_kubernetes_attributes: platform_kubernetes_attributes_from_service_template
- }
- end
-
- def platform_kubernetes_attributes_from_service_template
- {
- api_url: kubernetes_service_template.api_url,
- ca_pem: kubernetes_service_template.ca_pem,
- token: kubernetes_service_template.token,
- namespace: kubernetes_service_template.namespace
- }
- end
end
diff --git a/changelogs/unreleased/remove-kubernetes-service-deployment-platform.yml b/changelogs/unreleased/remove-kubernetes-service-deployment-platform.yml
new file mode 100644
index 00000000000..423ab00a469
--- /dev/null
+++ b/changelogs/unreleased/remove-kubernetes-service-deployment-platform.yml
@@ -0,0 +1,5 @@
+---
+title: Remove Kubernetes service template from available deployment platforms
+merge_request: 29786
+author:
+type: removed
diff --git a/spec/models/concerns/deployment_platform_spec.rb b/spec/models/concerns/deployment_platform_spec.rb
index 0e34d8fccf3..96465a51db2 100644
--- a/spec/models/concerns/deployment_platform_spec.rb
+++ b/spec/models/concerns/deployment_platform_spec.rb
@@ -8,40 +8,7 @@ describe DeploymentPlatform do
describe '#deployment_platform' do
subject { project.deployment_platform }
- context 'with no Kubernetes configuration on CI/CD, no Kubernetes Service and a Kubernetes template configured' do
- let!(:kubernetes_service) { create(:kubernetes_service, template: true) }
-
- it 'returns a platform kubernetes' do
- expect(subject).to be_a_kind_of(Clusters::Platforms::Kubernetes)
- end
-
- it 'creates a cluster and a platform kubernetes' do
- expect { subject }
- .to change { Clusters::Cluster.count }.by(1)
- .and change { Clusters::Platforms::Kubernetes.count }.by(1)
- end
-
- it 'includes appropriate attributes for Cluster' do
- cluster = subject.cluster
- expect(cluster.name).to eq('kubernetes-template')
- expect(cluster.project).to eq(project)
- expect(cluster.provider_type).to eq('user')
- expect(cluster.platform_type).to eq('kubernetes')
- end
-
- it 'creates a platform kubernetes' do
- expect { subject }.to change { Clusters::Platforms::Kubernetes.count }.by(1)
- end
-
- it 'copies attributes from Clusters::Platform::Kubernetes template into the new Cluster::Platforms::Kubernetes' do
- expect(subject.api_url).to eq(kubernetes_service.api_url)
- expect(subject.ca_pem).to eq(kubernetes_service.ca_pem)
- expect(subject.token).to eq(kubernetes_service.token)
- expect(subject.namespace).to eq(kubernetes_service.namespace)
- end
- end
-
- context 'with no Kubernetes configuration on CI/CD, no Kubernetes Service and no Kubernetes template configured' do
+ context 'with no Kubernetes configuration on CI/CD, no Kubernetes Service' do
it { is_expected.to be_nil }
end
@@ -126,23 +93,5 @@ describe DeploymentPlatform do
end
end
end
-
- context 'when user configured kubernetes integration from project services' do
- let!(:kubernetes_service) { create(:kubernetes_service, project: project) }
-
- it 'returns the Kubernetes service' do
- expect(subject).to eq(kubernetes_service)
- end
- end
-
- context 'when the cluster creation fails' do
- let!(:kubernetes_service) { create(:kubernetes_service, template: true) }
-
- before do
- allow_any_instance_of(Clusters::Cluster).to receive(:persisted?).and_return(false)
- end
-
- it { is_expected.to be_nil }
- end
end
end
diff --git a/spec/models/project_services/kubernetes_service_spec.rb b/spec/models/project_services/kubernetes_service_spec.rb
index 34ee1eafd5c..92e546b7880 100644
--- a/spec/models/project_services/kubernetes_service_spec.rb
+++ b/spec/models/project_services/kubernetes_service_spec.rb
@@ -7,7 +7,7 @@ describe KubernetesService, :use_clean_rails_memory_store_caching do
include ReactiveCachingHelpers
let(:project) { create(:kubernetes_project) }
- let(:service) { project.deployment_platform }
+ let(:service) { create(:kubernetes_service, project: project) }
describe 'Associations' do
it { is_expected.to belong_to :project }