diff --git a/app/models/application_setting.rb b/app/models/application_setting.rb index cd645850af3..fbd8036653a 100644 --- a/app/models/application_setting.rb +++ b/app/models/application_setting.rb @@ -23,11 +23,6 @@ class ApplicationSetting < ApplicationRecord serialize :domain_blacklist, Array # rubocop:disable Cop/ActiveRecordSerialize serialize :repository_storages # rubocop:disable Cop/ActiveRecordSerialize - ignore_column :circuitbreaker_failure_count_threshold - ignore_column :circuitbreaker_failure_reset_time - ignore_column :circuitbreaker_storage_timeout - ignore_column :circuitbreaker_access_retries - ignore_column :circuitbreaker_check_interval ignore_column :koding_url ignore_column :koding_enabled ignore_column :sentry_enabled diff --git a/config/initializers/6_validations.rb b/config/initializers/6_validations.rb index bf9e5a50382..827b15e5c8d 100644 --- a/config/initializers/6_validations.rb +++ b/config/initializers/6_validations.rb @@ -1,24 +1,15 @@ -def storage_name_valid?(name) - !!(name =~ /\A[a-zA-Z0-9\-_]+\z/) -end - def storage_validation_error(message) raise "#{message}. Please fix this in your gitlab.yml before starting GitLab." end def validate_storages_config - storage_validation_error('No repository storage path defined') if Gitlab.config.repositories.storages.empty? + if Gitlab.config.repositories.storages.empty? + storage_validation_error('No repository storage path defined') + end - Gitlab.config.repositories.storages.each do |name, repository_storage| - storage_validation_error("\"#{name}\" is not a valid storage name") unless storage_name_valid?(name) - - %w(failure_count_threshold failure_reset_time storage_timeout).each do |setting| - # Falling back to the defaults is fine! - next if repository_storage[setting].nil? - - unless repository_storage[setting].to_f > 0 - storage_validation_error("`#{setting}` for storage `#{name}` needs to be greater than 0") - end + Gitlab.config.repositories.storages.keys.each do |name| + unless /\A[a-zA-Z0-9\-_]+\z/.match?(name) + storage_validation_error("\"#{name}\" is not a valid storage name") end end end diff --git a/spec/initializers/6_validations_spec.rb b/spec/initializers/6_validations_spec.rb index f96e5a2133f..73fbd4c7a44 100644 --- a/spec/initializers/6_validations_spec.rb +++ b/spec/initializers/6_validations_spec.rb @@ -2,16 +2,6 @@ require 'spec_helper' require_relative '../../config/initializers/6_validations.rb' describe '6_validations' do - before :all do - FileUtils.mkdir_p('tmp/tests/paths/a/b/c/d') - FileUtils.mkdir_p('tmp/tests/paths/a/b/c2') - FileUtils.mkdir_p('tmp/tests/paths/a/b/d') - end - - after :all do - FileUtils.rm_rf('tmp/tests/paths') - end - describe 'validate_storages_config' do context 'with correct settings' do before do @@ -23,16 +13,6 @@ describe '6_validations' do end end - context 'when one of the settings is incorrect' do - before do - mock_storages('foo' => Gitlab::GitalyClient::StorageSettings.new('path' => 'tmp/tests/paths/a/b/c', 'failure_count_threshold' => 'not a number')) - end - - it 'throws an error' do - expect { validate_storages_config }.to raise_error(/failure_count_threshold/) - end - end - context 'with invalid storage names' do before do mock_storages('name with spaces' => Gitlab::GitalyClient::StorageSettings.new('path' => 'tmp/tests/paths/a/b/c'))