Commit 74fa088b authored by James Lopez's avatar James Lopez

Merge branch '60379-remove-ci-preparing-state-feature-flag' into 'master'

Stop configuring group clusters on creation

Closes #60379

See merge request gitlab-org/gitlab-ce!27245
parents 43abe242 fa5a6ae1
...@@ -378,8 +378,6 @@ module Ci ...@@ -378,8 +378,6 @@ module Ci
end end
def any_unmet_prerequisites? def any_unmet_prerequisites?
return false unless Feature.enabled?(:ci_preparing_state, default_enabled: true)
prerequisites.present? prerequisites.present?
end end
......
...@@ -21,11 +21,7 @@ module Clusters ...@@ -21,11 +21,7 @@ module Clusters
private_class_method :projects_with_missing_kubernetes_namespaces_for_cluster private_class_method :projects_with_missing_kubernetes_namespaces_for_cluster
def self.clusters_with_missing_kubernetes_namespaces_for_project(project) def self.clusters_with_missing_kubernetes_namespaces_for_project(project)
if Feature.enabled?(:ci_preparing_state, default_enabled: true)
project.clusters.managed.missing_kubernetes_namespace(project.kubernetes_namespaces) project.clusters.managed.missing_kubernetes_namespace(project.kubernetes_namespaces)
else
project.all_clusters.managed.missing_kubernetes_namespace(project.kubernetes_namespaces)
end
end end
private_class_method :clusters_with_missing_kubernetes_namespaces_for_project private_class_method :clusters_with_missing_kubernetes_namespaces_for_project
......
...@@ -100,8 +100,6 @@ module Projects ...@@ -100,8 +100,6 @@ module Projects
current_user.invalidate_personal_projects_count current_user.invalidate_personal_projects_count
create_readme if @initialize_with_readme create_readme if @initialize_with_readme
configure_group_clusters_for_project
end end
# Refresh the current user's authorizations inline (so they can access the # Refresh the current user's authorizations inline (so they can access the
...@@ -127,10 +125,6 @@ module Projects ...@@ -127,10 +125,6 @@ module Projects
Files::CreateService.new(@project, current_user, commit_attrs).execute Files::CreateService.new(@project, current_user, commit_attrs).execute
end end
def configure_group_clusters_for_project
ClusterProjectConfigureWorker.perform_async(@project.id)
end
def skip_wiki? def skip_wiki?
!@project.feature_available?(:wiki, current_user) || @skip_wiki !@project.feature_available?(:wiki, current_user) || @skip_wiki
end end
......
...@@ -54,7 +54,6 @@ module Projects ...@@ -54,7 +54,6 @@ module Projects
end end
attempt_transfer_transaction attempt_transfer_transaction
configure_group_clusters_for_project
end end
# rubocop: enable CodeReuse/ActiveRecord # rubocop: enable CodeReuse/ActiveRecord
...@@ -164,9 +163,5 @@ module Projects ...@@ -164,9 +163,5 @@ module Projects
@new_namespace.full_path @new_namespace.full_path
) )
end end
def configure_group_clusters_for_project
ClusterProjectConfigureWorker.perform_async(project.id)
end
end end
end end
...@@ -6,7 +6,7 @@ class ClusterConfigureWorker ...@@ -6,7 +6,7 @@ class ClusterConfigureWorker
def perform(cluster_id) def perform(cluster_id)
Clusters::Cluster.managed.find_by_id(cluster_id).try do |cluster| Clusters::Cluster.managed.find_by_id(cluster_id).try do |cluster|
if cluster.project_type? || Feature.disabled?(:ci_preparing_state, default_enabled: true) if cluster.project_type?
Clusters::RefreshService.create_or_update_namespaces_for_cluster(cluster) Clusters::RefreshService.create_or_update_namespaces_for_cluster(cluster)
end end
end end
......
---
title: Remove ability for group clusters to be automatically configured on creation
merge_request: 27245
author:
type: removed
...@@ -2925,26 +2925,18 @@ describe Ci::Build do ...@@ -2925,26 +2925,18 @@ describe Ci::Build do
subject { build.any_unmet_prerequisites? } subject { build.any_unmet_prerequisites? }
context 'build has prerequisites' do
before do before do
allow(build).to receive(:prerequisites).and_return([double]) allow(build).to receive(:prerequisites).and_return(prerequisites)
end end
it { is_expected.to be_truthy } context 'build has prerequisites' do
let(:prerequisites) { [double] }
context 'and the ci_preparing_state feature is disabled' do
before do
stub_feature_flags(ci_preparing_state: false)
end
it { is_expected.to be_falsey } it { is_expected.to be_truthy }
end
end end
context 'build does not have prerequisites' do context 'build does not have prerequisites' do
before do let(:prerequisites) { [] }
allow(build).to receive(:prerequisites).and_return([])
end
it { is_expected.to be_falsey } it { is_expected.to be_falsey }
end end
......
...@@ -93,7 +93,6 @@ describe Clusters::RefreshService do ...@@ -93,7 +93,6 @@ describe Clusters::RefreshService do
let(:group) { cluster.group } let(:group) { cluster.group }
let(:project) { create(:project, group: group) } let(:project) { create(:project, group: group) }
context 'when ci_preparing_state feature flag is enabled' do
include_examples 'does not create a kubernetes namespace' include_examples 'does not create a kubernetes namespace'
context 'when project already has kubernetes namespace' do context 'when project already has kubernetes namespace' do
...@@ -105,23 +104,6 @@ describe Clusters::RefreshService do ...@@ -105,23 +104,6 @@ describe Clusters::RefreshService do
end end
end end
context 'when ci_preparing_state feature flag is disabled' do
before do
stub_feature_flags(ci_preparing_state: false)
end
include_examples 'creates a kubernetes namespace'
context 'when project already has kubernetes namespace' do
before do
create(:cluster_kubernetes_namespace, project: project, cluster: cluster)
end
include_examples 'does not create a kubernetes namespace'
end
end
end
context 'cluster is not managed' do context 'cluster is not managed' do
let!(:cluster) { create(:cluster, :project, :not_managed, projects: [project]) } let!(:cluster) { create(:cluster, :project, :not_managed, projects: [project]) }
......
...@@ -268,33 +268,6 @@ describe Projects::CreateService, '#execute' do ...@@ -268,33 +268,6 @@ describe Projects::CreateService, '#execute' do
end end
end end
context 'when group has kubernetes cluster' do
let(:group_cluster) { create(:cluster, :group, :provided_by_gcp) }
let(:group) { group_cluster.group }
let(:token) { 'aaaa' }
let(:service_account_creator) { double(Clusters::Gcp::Kubernetes::CreateOrUpdateServiceAccountService, execute: true) }
let(:secrets_fetcher) { double(Clusters::Gcp::Kubernetes::FetchKubernetesTokenService, execute: token) }
before do
group.add_owner(user)
stub_feature_flags(ci_preparing_state: false)
expect(Clusters::Gcp::Kubernetes::CreateOrUpdateServiceAccountService).to receive(:namespace_creator).and_return(service_account_creator)
expect(Clusters::Gcp::Kubernetes::FetchKubernetesTokenService).to receive(:new).and_return(secrets_fetcher)
end
it 'creates kubernetes namespace for the project' do
project = create_project(user, opts.merge!(namespace_id: group.id))
expect(project).to be_valid
kubernetes_namespace = group_cluster.kubernetes_namespaces.first
expect(kubernetes_namespace).to be_present
expect(kubernetes_namespace.project).to eq(project)
end
end
context 'when there is an active service template' do context 'when there is an active service template' do
before do before do
create(:service, project: nil, template: true, active: true) create(:service, project: nil, template: true, active: true)
......
...@@ -73,33 +73,6 @@ describe Projects::TransferService do ...@@ -73,33 +73,6 @@ describe Projects::TransferService do
shard_name: project.repository_storage shard_name: project.repository_storage
) )
end end
context 'new group has a kubernetes cluster' do
let(:group_cluster) { create(:cluster, :group, :provided_by_gcp) }
let(:group) { group_cluster.group }
let(:token) { 'aaaa' }
let(:service_account_creator) { double(Clusters::Gcp::Kubernetes::CreateOrUpdateServiceAccountService, execute: true) }
let(:secrets_fetcher) { double(Clusters::Gcp::Kubernetes::FetchKubernetesTokenService, execute: token) }
subject { transfer_project(project, user, group) }
before do
stub_feature_flags(ci_preparing_state: false)
expect(Clusters::Gcp::Kubernetes::CreateOrUpdateServiceAccountService).to receive(:namespace_creator).and_return(service_account_creator)
expect(Clusters::Gcp::Kubernetes::FetchKubernetesTokenService).to receive(:new).and_return(secrets_fetcher)
end
it 'creates kubernetes namespace for the project' do
subject
expect(project.kubernetes_namespaces.count).to eq(1)
kubernetes_namespace = group_cluster.kubernetes_namespaces.first
expect(kubernetes_namespace).to be_present
expect(kubernetes_namespace.project).to eq(project)
end
end
end end
context 'when transfer fails' do context 'when transfer fails' do
......
...@@ -4,11 +4,6 @@ require 'spec_helper' ...@@ -4,11 +4,6 @@ require 'spec_helper'
describe ClusterConfigureWorker, '#perform' do describe ClusterConfigureWorker, '#perform' do
let(:worker) { described_class.new } let(:worker) { described_class.new }
let(:ci_preparing_state_enabled) { false }
before do
stub_feature_flags(ci_preparing_state: ci_preparing_state_enabled)
end
shared_examples 'configured cluster' do shared_examples 'configured cluster' do
it 'creates a namespace' do it 'creates a namespace' do
...@@ -33,28 +28,16 @@ describe ClusterConfigureWorker, '#perform' do ...@@ -33,28 +28,16 @@ describe ClusterConfigureWorker, '#perform' do
context 'when group has a project' do context 'when group has a project' do
let!(:project) { create(:project, group: group) } let!(:project) { create(:project, group: group) }
it_behaves_like 'configured cluster'
context 'ci_preparing_state feature is enabled' do
let(:ci_preparing_state_enabled) { true }
it_behaves_like 'unconfigured cluster' it_behaves_like 'unconfigured cluster'
end end
end
context 'when group has project in a sub-group' do context 'when group has project in a sub-group' do
let!(:subgroup) { create(:group, parent: group) } let!(:subgroup) { create(:group, parent: group) }
let!(:project) { create(:project, group: subgroup) } let!(:project) { create(:project, group: subgroup) }
it_behaves_like 'configured cluster'
context 'ci_preparing_state feature is enabled' do
let(:ci_preparing_state_enabled) { true }
it_behaves_like 'unconfigured cluster' it_behaves_like 'unconfigured cluster'
end end
end end
end
context 'when provider type is gcp' do context 'when provider type is gcp' do
let!(:cluster) { create(:cluster, :project, :provided_by_gcp) } let!(:cluster) { create(:cluster, :project, :provided_by_gcp) }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment