diff options
author | Thong Kuah <tkuah@gitlab.com> | 2019-06-28 00:29:19 +1200 |
---|---|---|
committer | Thong Kuah <tkuah@gitlab.com> | 2019-06-28 01:24:05 +1200 |
commit | 8152efbe2fc486520ec5cd11d54a49fbf7e554bf (patch) | |
tree | 224aa61a7751385b9963faaf773f3b9f3d9e6dcc | |
parent | 3f759e1674b19f9fc7690239c138fca8aeec6434 (diff) | |
download | gitlab-ce-8152efbe2fc486520ec5cd11d54a49fbf7e554bf.tar.gz |
Remove instance_clusters feature_flagremove_group_and_instance_clusters_feature_flag
Now we have terminals for instance and group clusters we can remove the
FF now. Deploying to instance clusters has been working without
complaints too.
7 files changed, 39 insertions, 85 deletions
diff --git a/app/models/clusters/instance.rb b/app/models/clusters/instance.rb index d8a888d53ba..f21dbdf7f26 100644 --- a/app/models/clusters/instance.rb +++ b/app/models/clusters/instance.rb @@ -9,9 +9,5 @@ module Clusters def feature_available?(feature) ::Feature.enabled?(feature, default_enabled: true) end - - def self.enabled? - ::Feature.enabled?(:instance_clusters, default_enabled: true) - end end end diff --git a/app/models/concerns/deployment_platform.rb b/app/models/concerns/deployment_platform.rb index 0e9ddbe433b..5a358ae2ef6 100644 --- a/app/models/concerns/deployment_platform.rb +++ b/app/models/concerns/deployment_platform.rb @@ -14,7 +14,7 @@ module DeploymentPlatform def find_deployment_platform(environment) find_cluster_platform_kubernetes(environment: environment) || find_group_cluster_platform_kubernetes(environment: environment) || - find_instance_cluster_platform_kubernetes_with_feature_guard(environment: environment) + find_instance_cluster_platform_kubernetes(environment: environment) end # EE would override this and utilize environment argument @@ -29,12 +29,6 @@ module DeploymentPlatform .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 diff --git a/app/policies/clusters/instance_policy.rb b/app/policies/clusters/instance_policy.rb index e1045c85e6d..f72096e8fc6 100644 --- a/app/policies/clusters/instance_policy.rb +++ b/app/policies/clusters/instance_policy.rb @@ -6,9 +6,8 @@ module Clusters condition(:has_clusters, scope: :subject) { clusterable_has_clusters? } condition(:can_have_multiple_clusters) { multiple_clusters_available? } - condition(:instance_clusters_enabled) { Instance.enabled? } - rule { admin & instance_clusters_enabled }.policy do + rule { admin }.policy do enable :read_cluster enable :add_cluster enable :create_cluster diff --git a/changelogs/unreleased/remove_group_and_instance_clusters_feature_flag.yml b/changelogs/unreleased/remove_group_and_instance_clusters_feature_flag.yml new file mode 100644 index 00000000000..fcc6c564345 --- /dev/null +++ b/changelogs/unreleased/remove_group_and_instance_clusters_feature_flag.yml @@ -0,0 +1,5 @@ +--- +title: Remove group and instance clusters feature flag +merge_request: 30124 +author: +type: changed diff --git a/spec/controllers/admin/clusters/applications_controller_spec.rb b/spec/controllers/admin/clusters/applications_controller_spec.rb index 76f261e7d3f..cf202d88acc 100644 --- a/spec/controllers/admin/clusters/applications_controller_spec.rb +++ b/spec/controllers/admin/clusters/applications_controller_spec.rb @@ -13,16 +13,6 @@ describe Admin::Clusters::ApplicationsController do it { expect { subject }.to be_allowed_for(:admin) } it { expect { subject }.to be_denied_for(:user) } it { expect { subject }.to be_denied_for(:external) } - - context 'when instance clusters are disabled' do - before do - stub_feature_flags(instance_clusters: false) - end - - it 'returns 404' do - is_expected.to have_http_status(:not_found) - end - end end let(:cluster) { create(:cluster, :instance, :provided_by_gcp) } diff --git a/spec/controllers/admin/clusters_controller_spec.rb b/spec/controllers/admin/clusters_controller_spec.rb index 7709f525119..e5501535875 100644 --- a/spec/controllers/admin/clusters_controller_spec.rb +++ b/spec/controllers/admin/clusters_controller_spec.rb @@ -17,66 +17,48 @@ describe Admin::ClustersController do get :index, params: params end - context 'when feature flag is not enabled' do - before do - stub_feature_flags(instance_clusters: false) - end + describe 'functionality' do + context 'when instance has one or more clusters' do + let!(:enabled_cluster) do + create(:cluster, :provided_by_gcp, :instance) + end - it 'responds with not found' do - get_index + let!(:disabled_cluster) do + create(:cluster, :disabled, :provided_by_gcp, :production_environment, :instance) + end - expect(response).to have_gitlab_http_status(404) - end - end + it 'lists available clusters' do + get_index - context 'when feature flag is enabled' do - before do - stub_feature_flags(instance_clusters: true) - end + expect(response).to have_gitlab_http_status(:ok) + expect(response).to render_template(:index) + expect(assigns(:clusters)).to match_array([enabled_cluster, disabled_cluster]) + end - describe 'functionality' do - context 'when instance has one or more clusters' do - let!(:enabled_cluster) do - create(:cluster, :provided_by_gcp, :instance) - end + context 'when page is specified' do + let(:last_page) { Clusters::Cluster.instance_type.page.total_pages } - let!(:disabled_cluster) do - create(:cluster, :disabled, :provided_by_gcp, :production_environment, :instance) + before do + allow(Clusters::Cluster).to receive(:paginates_per).and_return(1) + create_list(:cluster, 2, :provided_by_gcp, :production_environment, :instance) end - it 'lists available clusters' do - get_index + it 'redirects to the page' do + get_index(page: last_page) expect(response).to have_gitlab_http_status(:ok) - expect(response).to render_template(:index) - expect(assigns(:clusters)).to match_array([enabled_cluster, disabled_cluster]) - end - - context 'when page is specified' do - let(:last_page) { Clusters::Cluster.instance_type.page.total_pages } - - before do - allow(Clusters::Cluster).to receive(:paginates_per).and_return(1) - create_list(:cluster, 2, :provided_by_gcp, :production_environment, :instance) - end - - it 'redirects to the page' do - get_index(page: last_page) - - expect(response).to have_gitlab_http_status(:ok) - expect(assigns(:clusters).current_page).to eq(last_page) - end + expect(assigns(:clusters).current_page).to eq(last_page) end end + end - context 'when instance does not have a cluster' do - it 'returns an empty state page' do - get_index + context 'when instance does not have a cluster' do + it 'returns an empty state page' do + get_index - expect(response).to have_gitlab_http_status(:ok) - expect(response).to render_template(:index, partial: :empty_state) - expect(assigns(:clusters)).to eq([]) - end + expect(response).to have_gitlab_http_status(:ok) + expect(response).to render_template(:index, partial: :empty_state) + expect(assigns(:clusters)).to eq([]) end end end diff --git a/spec/policies/clusters/instance_policy_spec.rb b/spec/policies/clusters/instance_policy_spec.rb index 9d755c6d29d..7b61819e079 100644 --- a/spec/policies/clusters/instance_policy_spec.rb +++ b/spec/policies/clusters/instance_policy_spec.rb @@ -16,21 +16,9 @@ describe Clusters::InstancePolicy do context 'when admin' do let(:user) { create(:admin) } - context 'with instance_level_clusters enabled' do - it { expect(policy).to be_allowed :read_cluster } - it { expect(policy).to be_allowed :update_cluster } - it { expect(policy).to be_allowed :admin_cluster } - end - - context 'with instance_level_clusters disabled' do - before do - stub_feature_flags(instance_clusters: false) - end - - it { expect(policy).to be_disallowed :read_cluster } - it { expect(policy).to be_disallowed :update_cluster } - it { expect(policy).to be_disallowed :admin_cluster } - end + it { expect(policy).to be_allowed :read_cluster } + it { expect(policy).to be_allowed :update_cluster } + it { expect(policy).to be_allowed :admin_cluster } end end end |