Commit 113de96f authored by Kerri Miller's avatar Kerri Miller

Merge branch 'pedropombeiro/329438/remove-ci_runner_limits_override-ff' into 'master'

Remove ci_runner_limits_override feature flag

See merge request gitlab-org/gitlab!75503
parents 461b213b b1a668fb
...@@ -7,7 +7,6 @@ module Ci ...@@ -7,7 +7,6 @@ module Ci
self.limit_name = 'ci_registered_group_runners' self.limit_name = 'ci_registered_group_runners'
self.limit_scope = :group self.limit_scope = :group
self.limit_relation = :recent_runners self.limit_relation = :recent_runners
self.limit_feature_flag_for_override = :ci_runner_limits_override
belongs_to :runner, inverse_of: :runner_namespaces belongs_to :runner, inverse_of: :runner_namespaces
belongs_to :namespace, inverse_of: :runner_namespaces, class_name: '::Namespace' belongs_to :namespace, inverse_of: :runner_namespaces, class_name: '::Namespace'
......
...@@ -7,7 +7,6 @@ module Ci ...@@ -7,7 +7,6 @@ module Ci
self.limit_name = 'ci_registered_project_runners' self.limit_name = 'ci_registered_project_runners'
self.limit_scope = :project self.limit_scope = :project
self.limit_relation = :recent_runners self.limit_relation = :recent_runners
self.limit_feature_flag_for_override = :ci_runner_limits_override
belongs_to :runner, inverse_of: :runner_projects belongs_to :runner, inverse_of: :runner_projects
belongs_to :project, inverse_of: :runner_projects belongs_to :project, inverse_of: :runner_projects
......
---
name: ci_runner_limits_override
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/67152
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/337224
milestone: '14.2'
type: development
group: group::runner
default_enabled: false
...@@ -551,8 +551,8 @@ Plan.default.actual_limits.update!(pages_file_entries: 100) ...@@ -551,8 +551,8 @@ Plan.default.actual_limits.update!(pages_file_entries: 100)
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/321368) in GitLab 13.12. Disabled by default. > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/321368) in GitLab 13.12. Disabled by default.
> - Enabled on GitLab.com in GitLab 14.3. > - Enabled on GitLab.com in GitLab 14.3.
> - Enabled on self-managed in GitLab 14.4. > - Enabled on self-managed in GitLab 14.4.
> - Feature flag `ci_runner_limits` removed in GitLab 14.4. You can still use `ci_runner_limits_override` > - Feature flag `ci_runner_limits` removed in GitLab 14.4.
to remove limits for a given scope. > - Feature flag `ci_runner_limits_override` removed in GitLab 14.6.
The total number of registered runners is limited at the group and project levels. Each time a new runner is registered, The total number of registered runners is limited at the group and project levels. Each time a new runner is registered,
GitLab checks these limits against runners that have been active in the last 3 months. GitLab checks these limits against runners that have been active in the last 3 months.
......
...@@ -4,12 +4,6 @@ require 'spec_helper' ...@@ -4,12 +4,6 @@ require 'spec_helper'
RSpec.describe Ci::RunnerNamespace do RSpec.describe Ci::RunnerNamespace do
it_behaves_like 'includes Limitable concern' do it_behaves_like 'includes Limitable concern' do
before do
skip_default_enabled_yaml_check
stub_feature_flags(ci_runner_limits_override: false)
end
subject { build(:ci_runner_namespace, group: create(:group, :nested), runner: create(:ci_runner, :group)) } subject { build(:ci_runner_namespace, group: create(:group, :nested), runner: create(:ci_runner, :group)) }
end end
end end
...@@ -4,12 +4,6 @@ require 'spec_helper' ...@@ -4,12 +4,6 @@ require 'spec_helper'
RSpec.describe Ci::RunnerProject do RSpec.describe Ci::RunnerProject do
it_behaves_like 'includes Limitable concern' do it_behaves_like 'includes Limitable concern' do
before do
skip_default_enabled_yaml_check
stub_feature_flags(ci_runner_limits_override: false)
end
subject { build(:ci_runner_project, project: create(:project), runner: create(:ci_runner, :project)) } subject { build(:ci_runner_project, project: create(:project), runner: create(:ci_runner, :project)) }
end end
end end
...@@ -98,33 +98,14 @@ RSpec.describe API::Ci::Runner, :clean_gitlab_redis_shared_state do ...@@ -98,33 +98,14 @@ RSpec.describe API::Ci::Runner, :clean_gitlab_redis_shared_state do
before do before do
create(:ci_runner, runner_type: :project_type, projects: [project], contacted_at: 1.second.ago) create(:ci_runner, runner_type: :project_type, projects: [project], contacted_at: 1.second.ago)
create(:plan_limits, :default_plan, ci_registered_project_runners: 1) create(:plan_limits, :default_plan, ci_registered_project_runners: 1)
skip_default_enabled_yaml_check
stub_feature_flags(ci_runner_limits_override: ci_runner_limits_override)
end
context 'with ci_runner_limits_override FF disabled' do
let(:ci_runner_limits_override) { false }
it 'does not create runner' do
request
expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response['message']).to include('runner_projects.base' => ['Maximum number of ci registered project runners (1) exceeded'])
expect(project.runners.reload.size).to eq(1)
end
end end
context 'with ci_runner_limits_override FF enabled' do it 'does not create runner' do
let(:ci_runner_limits_override) { true } request
it 'creates runner' do
request
expect(response).to have_gitlab_http_status(:created) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response['message']).to be_nil expect(json_response['message']).to include('runner_projects.base' => ['Maximum number of ci registered project runners (1) exceeded'])
expect(project.runners.reload.size).to eq(2) expect(project.runners.reload.size).to eq(1)
end
end end
end end
...@@ -132,9 +113,6 @@ RSpec.describe API::Ci::Runner, :clean_gitlab_redis_shared_state do ...@@ -132,9 +113,6 @@ RSpec.describe API::Ci::Runner, :clean_gitlab_redis_shared_state do
before do before do
create(:ci_runner, runner_type: :project_type, projects: [project], created_at: 14.months.ago, contacted_at: 13.months.ago) create(:ci_runner, runner_type: :project_type, projects: [project], created_at: 14.months.ago, contacted_at: 13.months.ago)
create(:plan_limits, :default_plan, ci_registered_project_runners: 1) create(:plan_limits, :default_plan, ci_registered_project_runners: 1)
skip_default_enabled_yaml_check
stub_feature_flags(ci_runner_limits_override: false)
end end
it 'creates runner' do it 'creates runner' do
...@@ -204,33 +182,14 @@ RSpec.describe API::Ci::Runner, :clean_gitlab_redis_shared_state do ...@@ -204,33 +182,14 @@ RSpec.describe API::Ci::Runner, :clean_gitlab_redis_shared_state do
before do before do
create(:ci_runner, runner_type: :group_type, groups: [group], contacted_at: nil, created_at: 1.month.ago) create(:ci_runner, runner_type: :group_type, groups: [group], contacted_at: nil, created_at: 1.month.ago)
create(:plan_limits, :default_plan, ci_registered_group_runners: 1) create(:plan_limits, :default_plan, ci_registered_group_runners: 1)
skip_default_enabled_yaml_check
stub_feature_flags(ci_runner_limits_override: ci_runner_limits_override)
end
context 'with ci_runner_limits_override FF disabled' do
let(:ci_runner_limits_override) { false }
it 'does not create runner' do
request
expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response['message']).to include('runner_namespaces.base' => ['Maximum number of ci registered group runners (1) exceeded'])
expect(group.runners.reload.size).to eq(1)
end
end end
context 'with ci_runner_limits_override FF enabled' do it 'does not create runner' do
let(:ci_runner_limits_override) { true } request
it 'creates runner' do
request
expect(response).to have_gitlab_http_status(:created) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response['message']).to be_nil expect(json_response['message']).to include('runner_namespaces.base' => ['Maximum number of ci registered group runners (1) exceeded'])
expect(group.runners.reload.size).to eq(2) expect(group.runners.reload.size).to eq(1)
end
end end
end end
...@@ -239,9 +198,6 @@ RSpec.describe API::Ci::Runner, :clean_gitlab_redis_shared_state do ...@@ -239,9 +198,6 @@ RSpec.describe API::Ci::Runner, :clean_gitlab_redis_shared_state do
create(:ci_runner, runner_type: :group_type, groups: [group], created_at: 4.months.ago, contacted_at: 3.months.ago) create(:ci_runner, runner_type: :group_type, groups: [group], created_at: 4.months.ago, contacted_at: 3.months.ago)
create(:ci_runner, runner_type: :group_type, groups: [group], contacted_at: nil, created_at: 4.months.ago) create(:ci_runner, runner_type: :group_type, groups: [group], contacted_at: nil, created_at: 4.months.ago)
create(:plan_limits, :default_plan, ci_registered_group_runners: 1) create(:plan_limits, :default_plan, ci_registered_group_runners: 1)
skip_default_enabled_yaml_check
stub_feature_flags(ci_runner_limits_override: false)
end end
it 'creates runner' do it 'creates runner' do
......
...@@ -1101,31 +1101,13 @@ RSpec.describe API::Ci::Runners do ...@@ -1101,31 +1101,13 @@ RSpec.describe API::Ci::Runners do
context 'when it exceeds the application limits' do context 'when it exceeds the application limits' do
before do before do
create(:plan_limits, :default_plan, ci_registered_project_runners: 1) create(:plan_limits, :default_plan, ci_registered_project_runners: 1)
skip_default_enabled_yaml_check
stub_feature_flags(ci_runner_limits_override: ci_runner_limits_override)
end end
context 'with ci_runner_limits_override FF disabled' do it 'does not enable specific runner' do
let(:ci_runner_limits_override) { false } expect do
post api("/projects/#{project.id}/runners", admin), params: { runner_id: new_project_runner.id }
it 'does not enable specific runner' do end.not_to change { project.runners.count }
expect do expect(response).to have_gitlab_http_status(:bad_request)
post api("/projects/#{project.id}/runners", admin), params: { runner_id: new_project_runner.id }
end.not_to change { project.runners.count }
expect(response).to have_gitlab_http_status(:bad_request)
end
end
context 'with ci_runner_limits_override FF enabled' do
let(:ci_runner_limits_override) { true }
it 'enables specific runner' do
expect do
post api("/projects/#{project.id}/runners", admin), params: { runner_id: new_project_runner.id }
end.to change { project.runners.count }
expect(response).to have_gitlab_http_status(:created)
end
end end
end end
end end
......
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